Curso Spring Framework

  • Injeção de dependências e inversão de controle;
  • Spring Framework;
  • Aplicações web com Spring MVC;
  • Validação de dados com Bean Validation;
  • Integração do Spring com JPA e Hibernate;
  • Spring Security;
  • Spring Cache;
  • Profiles
  • Deploy

Sobre o curso FJ-27

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 infra estrutura.

Durante o curso vamos construir uma aplicação similar a loja da Casa do Código e vamos 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 usaremos as integrações mais famosas. Spring JPA para facilitar o acesso ao banco de dados, segurança da aplicação com o Spring Security, diferenciação de ambientes com a parte de Profiles e ainda detalhes como Cache e suporte a requisições seguindo o estilo REST.

Tudo isso sem uma linha de XML, vamos usar apenas configurações baseadas em anotações e código Java.

Curso novo com primeira turma em Junho. Ementa final sujeita a pequenas mudanças.

Veja também a ementa detalhada do curso.

Pré-requisitos

Curso Java para Desenvolvimento Web

Ou: linguagem Java e entendimento sobre o fluxo básico de uma aplicação que utiliza o Design Pattern MVC.

40 horas aula

A opinião de quem fez

Quero agradecer ao instrutor Paulo por instruir e ter passado confianca e um enorme conhecimento sobre o Spring, creio que hoje posso trabalhar e implementar o Spring com mais eficiencia e total propriedade em varios aspectos.

Anônimo

Sem dúvidas o melhor curso que eu já fiz, um investimento muito bom, pretendo voltar e realizar alguns outros cursos.

Luan Rafael Castor Pinheiro, Jacareí-SP

Excelente material didático e instrutor. O curso, apesar de rápido, fornece uma base sólida na utilização do framework.

Ricardo Pereira Maiostri, Santa Bárbara d'Oeste

Próximas turmas

Data Período Cidade Comentário
08/05 a 19/05 Noturno (19h às 23h) São Paulo Turma Promocional!!! Cód: 6830
03/07 a 14/07 Noturno (19h às 23h) São Paulo
03/07 a 07/07 Integral (9h às 17h) São Paulo
30/09 a 28/10 Sábado (9h às 17h) São Paulo

Não achou a turma ideal pra você? Entre em contato e consulte outras turmas e horários.

Fale com a gente.

Dúvidas, reservas ou um papo com um instrutor?

Conteúdo detalhado

Introdução

  1. Por que o Spring MVC
  2. A margem da especificação
  3. Comece a aventura
  4. Público-alvo
  5. Código fonte

Começando o projeto

  1. Configuração básica e criação do projeto
  2. Exercícios: Configurando o projeto
  3. Acessando o primeiro endereço
  4. Habilitando o Spring MVC
  5. Configurando a pasta com as páginas
  6. Exercícios: Acessando o primeiro endereço
  7. Um pouco por dentro do framework
  8. Conclusão

Cadastro de produtos

  1. Formulário de cadastro
  2. Lógica de cadastro
  3. Exercícios: Recebendo o produto do formulário
  4. Gravando os dados no banco de dados
  5. Configurando a JPA com o Hibernate
  6. Exercícios: Configurando e usando a JPA
  7. Habilitando o controle transacional
  8. Exercícios: Habilitando o controle transacional
  9. Conclusão

Melhorando o cadastro e a listagem

  1. Recebendo uma lista de valores no formulário
  2. Disponibilizando objetos na view
  3. Exercícios: Recebendo lista de parâmetros e o ModelAndView
  4. Listando os produtos
  5. Melhor uso dos verbos HTTP
  6. Modularização das URLs de acesso
  7. Exercícios: Listando os produtos
  8. Forward x Redirect
  9. Parâmetros extras nos redirects
  10. Exercícios: Redirecionando após o cadastro
  11. Conclusão

Validação e conversão de dados

  1. Validação básica
  2. Exercícios: Aplicando as primeiras validações
  3. Exibindo os erros
  4. Exibindo as mensagens de erro de maneira amigável
  5. Exercícios: Exibindo mensagens de erro
  6. Mantendo os valores no formulário
  7. Integração com a Bean Validation
  8. Exercícios: Usando a Bean Validation para validar
  9. Convertendo a data
  10. Exercícios: Definindo um formato de conversão
  11. Conclusão

Upload de arquivos

  1. Recebendo o arquivo no Controller
  2. Salvando o caminho do arquivo
  3. Configurações necessárias
  4. Exercícios: Realizando o upload do sumário
  5. Conclusão

Carrinho de compras

  1. URI templates
  2. Carrinho de compras e o escopo de Sessão
  3. Exibindo os itens do carrinho
  4. Exercícios: Carrinho de Compras
  5. Conclusão

Retornos assíncronos

  1. Exercícios: Integrando com o sistema externo
  2. Executando operações demoradas assincronamente
  3. Exercícios: Usando contextos assíncronos
  4. DefferedResult e um maior controle sobre a execução assíncrona
  5. Conclusão

Melhorando performance com Cache

  1. Cacheando o retorno dos métodos dos controllers
  2. Exercícios: Habilitando o Cache
  3. E quando tiverem novos livros?
  4. Exercícios: Invalidando o cache
  5. Usando um provedor de cache mais avançado
  6. Exercícios: Usando o Guava como provedor de Cache
  7. Conclusão

Respondendo mais de um formato

  1. Expondo os dados em outros formatos
  2. Content negotiation e outros ViewResolvers
  3. Exercícios: Suportando Content Negotiation
  4. Curiosidade sobre o objeto a ser serializado
  5. Conclusão

Protegendo a aplicação

  1. Configurando o Spring Security
  2. Exercícios - Configurando o Spring security
  3. Garantindo a autenticação
  4. Exercícios - Configurando o acesso as urls
  5. Configuração da fonte de busca dos usuários
  6. Exercícios - Configurando a segurança com o banco de dados
  7. Cross-site request forgery
  8. Exercícios - Protegendo o sistema contra CSRF
  9. Customizando mais alguns detalhes
  10. Exercícios - Tela de Login customizada
  11. Exibindo o usuário logado e escondendo trechos da página
  12. Exercícios - Mostrando o usuário logado
  13. Conclusão

Organização do layout em templates

  1. Templates
  2. Deixando o template ainda mais flexível
  3. Exercícios: Organizando as views do projeto
  4. Conclusão

Internacionalização

  1. Isolando os textos em arquivos de mensagens
  2. Exercícios - Isolando os textos em arquivos de mensagens
  3. Accept-Language header
  4. Exercícios - Suportando várias linguas
  5. Passando parâmetros nas mensagens
  6. Exercícios - Internacionalizando mensagens com parâmetros
  7. Deixe que o usuário defina a língua
  8. Exercícios - Deixando o usuário escolher a língua da página
  9. Exercício Opcional - Alterando a linguagem do sistema inteiro
  10. Conclusão

Testes automatizados

  1. Testes de integração no DAO
  2. Exercícios: Configurando e rodando os testes
  3. Utilize profiles e controle seu ambiente
  4. Exercícios: Ativando os profiles para testar
  5. Para saber mais: Testes do controller
  6. Conclusão

Apêndice: Outras facilidades

  1. Resolvendo o problema gerado pelo Lazy Load
  2. Liberando acesso a recursos estáticos da aplicação
  3. Enviando e-mail
  4. Conclusão

Apêndice: Deploy da aplicação

  1. Configurando o Maven para o Heroku
  2. Qual banco será usado no Heroku
  3. Nova aplicação no Heroku
  4. Conclusão

Apêndice: Facilitando a vida com o Spring Boot

  1. Surge o Spring Boot
  2. Configurando o Spring Boot
  3. Configurando a JSP
  4. Configurando a JPA
  5. Removendo ainda mais barreiras
  6. Conclusão

Apendice: Spring Data para facilitar os daos

  1. Conhecendo o Spring Data
  2. Restringindo a interface pública
  3. Conclusão


* Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.