Guia de Linguagem

Spring Framework


Neste Guia de Referência você encontrará o conteúdo que precisa para aprender a desenvolver aplicações utilizando o Spring Framework e seus subprojetos.

Conhecendo o Spring Framework

Spring dispõe para o programador diversas tecnologias, que simplificam o desenvolvimento de código de infraestrutura. Nesta iniciativa encontraremos projetos que atendem desde a arquitetura da aplicação até sua implantação. Dentre esses projetos, Spring Framework, apresentado nos conteúdos a seguir, é um dos mais utilizados. Para saber mais acesse:

Spring MVC

Algumas tarefas são comuns à maioria das aplicações web. Como exemplo podemos citar o mapeamento dos dados contidos na requisição para objetos da camada de modelo. O Spring MVC, um dos principais projetos dentro do Spring Framework, abstrai essa e outras rotinas de infraestrutura, permitindo ao programador se dedicar as regras de negócio da aplicação.

Saiba mais sobre ele enquanto constrói sua primeira aplicação com os cursos:

Nos artigos abaixo são abordados outros tópicos práticos sobre a programação com Spring MVC.

Spring Web Flow

O Spring Web Flow (SWF) foi criado para gerenciar a navegação em aplicações web. Com ele podemos definir os passos dados pelo usuário na aplicação, bem como extrair informações sobre esse fluxo de acordo com as necessidades do negócio. Introduzir este framework é papel do artigo abaixo:

Spring Data

Dentro da proposta de prover código de infraestrutura, o Spring Data unifica diferentes projetos com o objeto de facilitar o acesso a fontes de dados, como bancos de dados relacionais e não relacionais.

Os conteúdos a seguir introduzem o Spring Data JPA, implementação do framework para a especificação JPA, Java Persistence API:

O Spring Data MongoDB fornece acesso a um dos bancos de dados baseados em documentos mais utilizados por aplicações. Saiba mais no artigo:

Apache Solr é uma plataforma de busca que permite o balanceamento de consultas a partir da criação de índices distribuídos. Para facilitar sua configuração, bem como o acesso a servidores que utilizam essa tecnologia, foi criado o projeto Spring Data Solr. Saiba mais no artigo:

Spring Boot

Gerenciar dependências pode ser uma dor de cabeça no início de qualquer projeto. Spring Boot permite iniciar rapidamente projetos Spring ao gerenciar as dependências do projeto a partir do princípio da Convenção sobre Configuração, que busca reduzir o número de decisões a serem tomadas pelo programador no momento de configurar as diferentes áreas de uma aplicação.

Saiba mais sobre este projeto nos artigos abaixo:

Spring Security

Segurança é uma preocupação da maioria das aplicações web. Spring Security fornece um mecanismo customizável para autenticação e autorização, de forma a controlar o acesso aos dados gerenciados pelo sistema. Uma vez que ele é o mecanismo padrão de segurança em projetos Spring, seu conhecimento é recomendado aos desenvolvedores que utilizem seus projetos.

Aprenda sobre como aplicar segurança às suas aplicações Spring nos posts:

Spring Cloud

Ao longo dos anos, o gerenciamento de sistemas distribuídos levou à elaboração de soluções padronizadas para problemas comuns, como configuração, controle da comunicação entre CPUs, entre outros. Spring Cloud simplifica a configuração de servidores que implementam esses padrões. Como consequência também é possível para o desenvolvedor evitar problemas de compatibilidade entre os ambientes de desenvolvimento e produção. Acesse o link abaixo para uma introdução completa a esse projeto.

Spring Batch

Grande parte das aplicações necessitam implementar tarefas automáticas, que devem ser executadas com certa periodicidade. Fazem parte desse grupo de rotinas o processamento de listas de e-mail, cópia de tabelas de bancos de dados, entre outras. Conforme demonstrado no artigo a seguir, Spring Batch reúne funções essenciais para o início, pausa e retomada de tarefas, bem como gerenciamento de grandes volumes de dados, estatísticas de processamento e outras ações comuns a aplicações em lote, facilitando assim seu desenvolvimento.

Spring Web Services

Ao decidir sobre a padronização da comunicação entre Web Services SOAP, geralmente optamos pelas abordagens contract-last ou contract-first. Na primeira, contract-last, o desenvolvimento se iniciará com a programação de código Java, deixando o descritor do serviço, WSDL, para o final. Em contrapartida, contract-first requer a documentação do serviço e, baseado nessa documentação, sua implementação em Java.

O Spring Web Services é um framework que utiliza a metodologia contract-first para a criação serviços flexíveis, desacoplados da manipulação do corpo de dados obtido após o processamento de arquivos XML.

Conheça o Spring Web Services no artigo:

Spring Roo

Spring Roo é uma ferramenta baseada em texto para o desenvolvimento rápido de aplicações, metodologia conhecida como RAD. A partir dessa ferramenta podemos gerar todo código necessário para iniciar uma aplicação, utilizando diversos frameworks, como Spring, Hibernate, entre outros. No vídeo a seguir você poderá acompanhar os passos necessários para iniciar um projeto com o Spring Roo, bem como modificá-lo no Eclipse.

Na prática

Até o momento você aprendeu sobre os principais projetos sob o nome Spring e como eles podem auxiliar o programador no desenvolvimento de aplicações em larga escala. Nos posts a seguir reunimos outros conteúdos que apresentam suas funcionalidades de forma prática. Confira:

Caso você já possua uma aplicação Spring e esteja preocupado com sua distribuição, recomendamos os seguintes artigos:

O aprendizado precisa ser constante, ainda mais quando lidamos com tantas tecnologias ao mesmo tempo. Somente praticando você conseguirá implementar códigos melhores. Os links abaixo te ajudarão a enriquecer esse conhecimento e agregar valor e qualidade às suas soluções:

Mais sobre Java

Além material sugerido nesse guia, a DevMedia publica com frequência novos conteúdos sobre Java, os quais você pode conferir nos Guias de Consulta abaixo:

Além disso, você pode conferir todo o conteúdo de Java clicando aqui.

Ficou com alguma dúvida?