Este estudo ajudará tanto os leitores que já estão familiarizados com o framework Spring e querem saber o que essa versão está trazendo de novo quanto os que ainda não o conhecem na prática e querem ter um primeiro contato.
Com 10 anos de existência, o Spring ainda é um dos mais importantes e mais usados frameworks do ecossistema Java. Criado por Rod Johnson, e amplamente divulgado através dos livros de sua autoria, o Spring veio com o objetivo de facilitar o desenvolvimento e deployment de aplicações Java enterprise e rapidamente ganhou popularidade entre a comunidade e as empresas.
A introdução de conceitos e facilidades inexistentes até então na plataforma Java EE o transformou na solução preferida a ser adotada em novos projetos.
Com o passar do tempo, muitas das suas funcionalidades passaram a fazer parte da especificação Java EE, como injeção de dependência e inversão de controle. Ao mesmo tempo, novos recursos do Java também ajudaram em sua evolução, como por exemplo, o uso de Annotations ao invés dos seus longos arquivos XML de configuração.
Desde a criação do Spring, sempre existiu muita discussão (algumas até mais acaloradas) comparando-o com a Java EE e qual papel cada um desses elementos desempenharia no desenvolvimento de aplicações Java enterprise.
O que parece ser mais razoável é que de início o Spring realmente atuava como um substituto às tecnologias “padrões” da Java EE, como entity beans e session beans. É verdade, porém, que muito de seu sucesso é relacionado com o surgimento do Hibernate, que atuou e ainda atua como seu grande “parceiro” em muitos projetos.
No entanto, com o passar do tempo e com a evolução da especificação Java EE, esses frameworks também passaram a ser vistos como ferramentas que podem ser usadas em conjunto com a especificação, e não somente como substitutos. Afinal de contas, muitas das funcionalidades do Spring são baseadas em tecnologias padrões, como JNDI, JMS e JTA. O próprio Hibernate passou a ser uma implementação da especificação do JPA.
Mas o Spring não parou por aí. Suas versões sempre trouxeram novos projetos visando novas funcionalidades e facilidades, como o spring-integration, spring-data, spring-mvc, spring-social, entre outros. O projeto Spring cresceu tanto com o passar do tempo que atualmente ele possui algumas dezenas de subprojetos, o que torna o um verdadeiro “canivete suíço”.
Spring Framework 4
A versão 4 foi lançada recentemente, mais precisamente em dezembro do ano passado, e trouxe consigo um conjunto de novas funcionalidades e de melhorias visando suportar o Java 8 e a Java EE 7. Durante esse artigo vamos dar um panorama geral sobre esses novos recursos e mostrar na prática como utilizar alguns deles.
Dentre algumas das novas funcionalidades liberadas nessa versão, podemos citar:
- Suporte completo ao Java 8: Disponibiliza recursos como expressões lambda e “Date and Time API”. Vale ressaltar que a versão mínima do Java suportada pelo Spring 4 passa a ser JDK 6u10, porém é recomendado o uso da versão 7 ou 8;
- Java EE 7: Suporta novas especificações introduzidas na Java EE 7, tais como JMS 2.0, JTA 1.2, JPA 2.1, Bean Validation 1.1 e Concurrency Utilities;
- Groovy: É possível configurar o Spring e seus beans usando Groovy através de arquivos externos. Parecido com a ideia inicial de configuração via XML, mas usando uma linguagem mais bem definida para esse propósito;
- Core: Melhorias gerais, tais como adição de novas anotações como, por exemplo, @Ordered, @Description e @Conditional;
- Web: Algumas novas funcionalidades são a adição da classe AsyncRestTemplate (que permite a criação de clientes REST não-bloqueantes), compatibilidade com a API de WebSocket e adição da anotação @RestController;
- Documentação: Criação de um novo website com a disponibilização de vários guias que ensinam a trabalhar com o Spring e seus módulos.
Após essa análise superficial de algumas das novas funcionalidades disponibilizadas no Spring 4, vamos agora tratar algumas delas com mais profundidade através de exemplos. Como alguns dos exemplos requerem um servidor de aplicações compatível com a Java EE 7, iremos usar o WildFly para esse propósito.
O servidor WildFly
O WildFly nada mais é que a continuação do servidor de aplicações JBoss, porém com outro nome. Essa mudança ocorreu principalmente para evitar uma confusão de nomes, já que a Red Hat também tem uma solução chamada JBoss Enterprise Application Platform (JBoss EAP), que é composta pelo próprio servidor de aplicações e vários outros produtos, como Infinispan, Red Hat Linux, entre outros. A versão do WildFly usada nesse artigo é a 8.0.0.Final, que foi lançada em meados de fevereiro e já é certificada Java EE 7.
Instalação
O WildFly 8 possui a mesma estrutura do JBoss AS 7, portanto tanto a instalação quanto a operação são bem similares. Após fazer o download do servidor, basta descompactá-lo e definir a variável de ambiente JBOSS_HOME, que deve apontar para o diretório no qual o servidor foi descompactado. Apesar do nome do servidor ter mudado, a variável de ambiente foi mantida com o nome JBOSS_HOME, pelo menos por enquanto. Para inicializar o servidor, basta executar o script JBOSS_HOME/bin/standalone.sh (ou .bat caso esteja no Windows).
Explorando o Spring 4 com exemplos práticos
A demonstração de alguns dos recursos do Spring 4 será feita através de um projeto que será baseado no Maven e no Eclipse. O objetivo desse projeto não é criar uma aplicação completa, e sim permitir que o leitor veja algumas das novas funcionalidades do Spring na prática.
Para a criação do projeto no Eclipse, vá até o menu File | New > Other, digite “Maven” no campo Wizard, selecione a opção Maven Project e clique em Next. Na próxima tela, marque a opção Create a simple project (skip archetype location) e clique em Next. Nessa tela, os campos devem ser preenchidos com as seguintes informações:
- Group Id: “br.com.javamagazine”;
- Artifact Id: “spring4-demo”;
- Version: “1.0.0”;
- Packaging: “war”.
Para finalizar a criação, clique em Finish. Para que o projeto tenha acesso às bibliotecas necessárias para compilação e execução do código, o arquivo pom.xml deve ser alterado para que fique como na Listagem 1. Este arquivo define o Spring 4 como dependê ...
Confira outros conteúdos:
Comunicação view/controller via POST...
Spring MVC: Entendendo a comunicação...
Promoção de Natal
Oferta exclusiva de Natal!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 59,90
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 59,90 /mês
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.