O Spring é o principal concorrente da especificação Java EE. Com uma plataforma muito estável e com integração fina entre todas as suas extensões, fornece um ambiente muito propício para que o programador foque nas regras de negócio e esqueça dos problemas de infraestrutura.
Durante o livro, será construída uma aplicação baseada na loja da Casa do Código e você terá a chance de utilizar diversas das funcionalidades e integrações providas pelo framework. Usaremos o Spring MVC como alicerce da nossa aplicação web e para implementar todas as funcionalidades, utilizaremos diversas integrações, como: Spring JPA, para facilitar o acesso ao banco de dados; Spring Security, para segurança da aplicação; diferenciação de ambientes com a parte de Profiles; respostas assíncronas para melhorarmos a escalabilidade; e ainda detalhes, como cache e suporte às requisições, seguindo o estilo REST.
Tudo isso sem uma linha de XML, todas configurações serão feitas baseadas em anotações e código Java.
İçerik tablosu
1 – Introdução
1.1 – Por que o Spring MVC
1.2 – A margem da especificação
1.3 – Comece a aventura
1.4 – Público-alvo
1.5 – Código-fonte
1.6 – Pedindo ajuda
2 – Começando o projeto
2.1 – Configuração básica e criação do projeto
2.2 – Acessando o primeiro endereço
2.3 – Habilitando o Spring MVC
2.4 – Configurando a pasta com as páginas
2.5 – Um pouco por dentro do framework
2.6 – Conclusão
3 – Cadastro de produtos
3.1 – Formulário de cadastro
3.2 – Lógica de cadastro
3.3 – Gravando os dados no banco de dados
3.4 – Configurando a JPA com o Hibernate
3.5 – Habilitando o controle transacional
3.6 – Conclusão
4 – Melhorando o cadastro e a listagem
4.1 – Recebendo uma lista de valores no formulário
4.2 – Disponibilizando objetos na view
4.3 – Listando os produtos
4.4 – Melhor uso dos verbos HTTP
4.5 – Modularização das URLs de acesso
4.6 – Forward x Redirect
4.7 – Parâmetros extras nos redirects
4.8 – Conclusão
5 – Validação e conversão de dados
5.1 – Validação básica
5.2 – Exibindo os erros
5.3 – Exibindo as mensagens de erro de maneira amigável
5.4 – Mantendo os valores no formulário
5.5 – Integração com a Bean Validation
5.6 – Convertendo a data
5.7 – Conclusão
6 – Upload de arquivos
6.1 – Recebendo o arquivo no Controller
6.2 – Salvando o caminho do arquivo
6.3 – Configurações necessárias
6.4 – Gravando os arquivos fora do servidor web
6.5 – Conclusão
7 – Carrinho de compras
7.1 – URI templates
7.2 – Carrinho de compras e o escopo de Sessão
7.3 – Exibindo os itens do carrinho
7.4 – Conclusão
8 – Retornos assíncronos
8.1 – Executando operações demoradas assincronamente
8.2 – Deffered Result e um maior controle sobre a execução assíncrona
8.3 – Conclusão
9 – Melhorando performance com Cache
9.1 – Cacheando o retorno dos métodos dos controllers
9.2 – E quando tiverem novos livros?
9.3 – Usando um provedor de cache mais avançado
9.4 – Conclusão
10 – Respondendo mais de um formato
10.1 – Expondo os dados em outros formatos
10.2 – Content negotiation e outros View Resolvers
10.3 – Curiosidade sobre o objeto a ser serializado
10.4 – Conclusão
11 – Protegendo a aplicação
11.1 – Configurando o Spring Security
11.2 – Garantindo a autenticação
11.3 – Configuração da fonte de busca dos usuários
11.4 – Cross-site request forgery
11.5 – Customizando mais alguns detalhes
11.6 – Exibindo o usuário logado e escondendo trechos da página
11.7 – Conclusão
12 – Organização do layout em templates
12.1 – Templates
12.2 – Deixando o template ainda mais flexível
12.3 – Conclusão
13 – Internacionalização
13.1 – Isolando os textos em arquivos de mensagens
13.2 – Accept-Language header
13.3 – Passando parâmetros nas mensagens
13.4 – Deixe que o usuário defina a língua
13.5 – Conclusão
14 – Testes automatizados
14.1 – Testes de integração no DAO
14.2 – Utilize profiles e controle seu ambiente
14.3 – Testes do controller
14.4 – Conclusão
15 – Outras facilidades
15.1 – Resolvendo o problema gerado pelo Lazy Load
15.2 – Liberando acesso a recursos estáticos da aplicação
15.3 – Enviando e-mail
15.4 – Conclusão
16 – Deploy da aplicação
16.1 – Configurando o Maven para o Heroku
16.2 – Qual banco será usado no Heroku
16.3 – Nova aplicação no Heroku
16.
Yazar hakkında
Alberto Souza é Bacharel em Ciência da Computação pela Universidade Salvador e desenvolvedor desde 2005, tendo participado de muitos projetos web e experimentado diversas linguagens. Participa de projetos open source como o Stella e VRaptor. Possui a certificação SCJP e trabalha como desenvolvedor e instrutor pela Caelum. Seu Twitter é @alberto_souza.