Use o código e tenha 10% de desconto!

Spring MVC Domine o principal framework web Java

Alberto Souza

Conteúdo

O Spring é o principal concorrente da especificação JavaEE. 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.

* Spring core, Spring MVC e Spring Security na versão 4

 

Sumário

  • 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 DefferedResult 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 ViewResolvers
  • 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.4 Conclusão
  • 17 Hora de praticar
  • 17.1 Mantenha contato
  • 18 Facilitando a vida com o Spring Boot
  • 18.1 Surge o Spring Boot
  • 18.2 Configurando o Spring Boot
  • 18.3 Configurando a JSP
  • 18.4 Configurando a JPA
  • 18.5 Removendo ainda mais barreiras
  • 18.6 Conclusão
  • 19 Spring Data para facilitar os daos
  • 19.1 Conhecendo o Spring Data
  • 19.2 Restringindo a interface pública
  • 19.3 Conclusão

veja mais detalhes

Autor

Alberto Souza

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 e você também pode encontrá-lo no Github, no endereço http://www.github.com/asouza

Dados do produto

Número de páginas:
260
ISBN:
978-85-5519-019-3

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter