Spring MVC: Domine o principal framework web Java
Introdução
Já existem diversos frameworks MVC no mercado e a primeira pergunta que você deve fazer é: existe a necessidade de aprender mais um? Em geral, existem algumas tecnologias que, quando são escolhidas para serem usadas em uma aplicação, não são facilmente reversíveis. O framework MVC é uma delas.
Ele vai fazer parte de uma boa parte da sua rotina de desenvolvimento. Quase sempre que uma nova funcionalidade for pedida para seu projeto, além de implementar a regra de negócio específica, você terá de criar alguma coisa relativa a essa regra na camada web da sua aplicação. E aí, você mais uma vez estará interagindo com o framework escolhido.
Por meio desse prisma, você deve ser capaz de analisar os pontos positivos e negativos de cada uma das suas opções e tomar a melhor decisão possível.
Comece a aventura
Durante o livro, vamos construir uma aplicação muito parecida com uma das versões da própria Casa do Código. Desenvolveremos funcionalidades que nos levarão desde os detalhes mais básicos do uso do Spring MVC até partes avançadas como:
* Customização de componentes de validação e conversão;
* Caches de resultados;
* Processamento assíncrono;
* Testes de integração;
* Detalhes escondidos do processo de internacionalização.
Fique junto comigo e leia cada capítulo com calma; eu sempre lhe direi se é hora de dar uma pausa ou de já pular para o próximo. Espero que você tenha uma grande jornada!
Desenvolvimento do código
Durante a leitura do livro, em vários momentos, você vai sentir a necessidade de implementar o código de exemplo. Sugiro que você faça, sem medo algum. O único pedido que faço é que deixe para codificar sempre no fim do capítulo, já que muitas vezes minha intenção é justamente mostrar um problema que pode acontecer. Outra situação que pode acontecer é que a ideia ainda está em construção.
Público-alvo
Para pessoas que já conheçam um pouco sobre a estrutura de um projeto baseado no Design Pattern MVC. O livro vai ajudar desde pessoas que não conhecem nada do Spring MVC até usuários que já utilizam o framework na prática. Quase todo capítulo vai cobrir detalhes que vão além do uso normal, e vai deixá-lo mais crítico em relação ao uso da tecnologia.
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
Dados do produto
- Número de páginas:
- Data publicação: