Spring Framework: Criando uma aplicação web

Veja neste primeiro artigo como construir uma aplicação web com a versão 4 do Spring Framework.

Artigo no estilo: Curso

Fique por dentro

Este artigo é útil porque apresenta alguns dos recursos disponíveis a partir da versão 4 do Spring Framework. Para isso, será demonstrado como fazer uso desses recursos no decorrer do desenvolvimento de uma aplicação web.

Esse conteúdo é bastante importante principalmente por ajudar o leitor a se familiarizar com as novas soluções disponibilizadas pelo Spring, possibilitando uma análise do funcionamento destas e facilitando a identificação de quando adotá-las.

O Spring Framework chega à versão 4 ultrapassando 10 anos de existência, contados a partir do seu release inicial – mais especificamente, março de 2004. Na época, esta versão inicial já era bastante inovadora, apresentando-se como um container leve que oferecia a criação e gerenciamento de beans, injeção de dependências, controle de transações (de forma declarativa e programática), suporte ao Hibernate, um framework MVC completo, o Spring MVC, classes utilitárias para o desenvolvimento de DAOs, uso da tecnologia JDBC e a integração com EJBs.

O conjunto das soluções providas pelo Spring Framework permite a construção de qualquer tipo de aplicação, não estando restrito apenas a soluções para a plataforma Web. Além disso, a facilidade de configuração e execução do container simplifica o desenvolvimento e a criação do ambiente para execução de testes integrados.

Durante estes mais de 10 anos, o Spring obteve uma evolução grandiosa, acumulando inovações em suas principais funcionalidades. Podemos citar, por exemplo, o uso de anotações para a criação, gerenciamento e injeção de beans, bem como o lançamento de novos módulos como o Spring Security, Spring Data, Spring Batch, Spring Integration, entre outros.

A versão 4 do Spring Framework, lançada em Dezembro de 2013, vem com o compromisso de manter a plataforma alinhada com as tecnologias mais recentes para o desenvolvimento Java.

Nesta versão, além de melhorias em funcionalidades do próprio framework, foram adicionados suporte para as plataformas Java 8 e Java EE 7, a evolução de recursos no desenvolvimento de interfaces REST e o suporte à tecnologia de WebSockets. Dito isso, o objetivo deste artigo é apresentar de forma prática algumas destas novidades trazidas no lançamento do Spring Framework 4, por meio do desenvolvimento das funcionalidades de uma aplicação web.

Nesta primeira parte, alguns dos novos recursos serão apresentados na implementação de funcionalidades de infraestrutura e backend da aplicação, enquanto a segunda parte terá o foco em expor recursos utilizados na criação da camada de apresentação.

A aplicação proposta

Para realizar a demonstração dos recursos disponíveis no Spring Framework 4, foi idealizado um sistema para controle de tarefas. Sendo assim, no decorrer do desenvolvimento deste sistema, serão utilizadas as novas funcionalidades do Spring de uma maneira simples, focando sempre em facilitar o entendimento do funcionamento e o propósito (solução) oferecido por cada recurso.

O sistema de controle de tarefas

O sistema de Controle de Tarefas tem como objetivo principal facilitar o controle das atividades gerenciadas por um grupo de pessoas. Assim, para cada pessoa com acesso ao sistema, denominada usuário, existirá uma associação com um perfil, e cada perfil concede níveis de operação diferentes dentro do sistema.

No sistema de Controle de Tarefas, foram definidos dois perfis de usuário, detalhados a seguir:

  1. Administrador: Este perfil permite ao usuário a criação de tarefas e o acompanhamento (em tempo real) de todas as tarefas cadastradas no sistema;
  2. Usuário: O usuário com este perfil pode assumir tarefas e consequentemente mudar o status das tarefas para as quais ele é o responsável.

Além das informações de usuário, o sistema também manterá os dados que permitem a identificação, autoria, responsabilidade e o controle dos possíveis estados de uma tarefa.

Os estados das tarefas gerenciadas pelo sistema são:

A seguir estão as principais classes do domínio do sistema Controle de Tarefas, criado a partir da descrição das funcionalidades e exibido em detalhes na Figura 1:


abrir imagem em nova janela

Figura 1. Modelo de classes do sistema.

Para construção do sistema de Controle de Tarefas será utilizada a arquitetura multicamadas, concebida com o uso da abordagem Domain Driven Design. As quatro camadas (domain, application, infrastructure e user interface) foram organizadas em pacotes conforme detalhado a seguir:

Na Figura 2 podemos ver, com mais detalhes, a organização dos pacotes (camadas) e também algumas das principais classes do sistema de Controle de Tarefas, já citadas anteriormente.


abrir imagem em nova janela

Figura 2. Organização dos pacotes (camadas).

A interface web

A interface do sistema de Controle de Tarefas será bastante simples, contando apenas com duas telas:

As abas disponíveis, o propósito de cada uma e o acesso pelos perfis de usuário serão detalhados a seguir.

Autenticação dos usuários

A autenticação dos usuários no sistema será efetuada mediante e-mail e senha (previamente cadastrados), solicitados pela tela de login apresentada na Figura 3. Após o login efetuado com sucesso, o usuário será direcionado para a tela home, onde serão exibidas as abas com as informações de tarefas de acordo com o perfil identificado no processo de autenticação.

Figura 3. Tela de login.

A aba Tarefas

Caso o usuário autenticado esteja associado com o perfil Administrador, será apresentada a tela home disponibilizando apenas a aba Tarefas, conforme exibido na Figura 4.


abrir imagem em nova janela

Figura 4. Funcionalidades da aba Tarefas.

Os três pontos destacados nesta figura estão detalhados a seguir:

  1. O botão de inclusão de tarefas, exibido somente para o perfil Administrador, aciona um popup modal (Figura 5) que permite a inclusão de uma nova tarefa;
  2. O perfil Administrador" [...] continue lendo...

Artigos relacionados