Sistemas Comerciais Java EE com CDI, JPA e PrimeFaces

Desenvolva um sistema de pedido de vendas do zero com Java EE e as tecnologias mais quentes do momento.

Conteúdo Programático

  1. Introdução

    1. Introdução ao curso 24m 53s
    2. Instalando e configurando o Eclipse 10m 3s
    3. Instalando o Apache Tomcat 17m 9s
    4. Iniciando o Apache Tomcat dentro do Eclipse 11m 2s
    5. Introdução ao Maven 4m 47s
    6. Instalando o plugin do Maven no Eclipse 2m 54s
    7. Criando um projeto web no Eclipse com Maven 10m 13s
    8. Gerando arquivo WAR em um projeto Maven 11m 23s
    9. Baixando os exemplos do GitHub e importando no Eclipse 19m 47s
    10. Introdução ao PrimeFaces 11m 54s
    11. Começando com PrimeFaces 24m 47s
    12. Para quem usa NetBeans: criando um projeto com PrimeFaces 10m 2s
  2. Formulários e Ajax com PrimeFaces

    1. PanelGrid, InputText, OutputLabel e CommandButton 26m 13s
    2. Ajax e renderização parcial 31m 18s
    3. Processamento parcial 25m 24s
    4. Submissão parcial 9m 58s
    5. Notificações com AjaxStatus 17m 16s
    6. Entrada de senhas com Password 10m 17s
    7. Entrada de textos com InputTextarea 11m 39s
    8. Entrada de data e hora com Calendar 15m 39s
    9. Caixa de listagem com SelectOneListbox 30m 50s
    10. Menu de seleção com SelectOneMenu 5m 13s
    11. SelectOneMenu com conteúdo customizado e filtro 11m 59s
    12. Menus de seleção dependentes com SelectOneMenu e Ajax 12m 12s
    13. Botão de rádio com SelectOneRadio 17m 39s
    14. Caixa de checagem múltipla com SelectManyCheckbox 6m 25s
    15. Campo de autossugestão com AutoComplete 16m 12s
    16. AutoComplete com suporte a POJO 19m 14s
    17. Máscara de entrada com InputMask 12m 20s
    18. Caixa de checagem com SelectBooleanCheckbox 6m 36s
    19. Exercício: formulários com PrimeFaces
  3. Prototipação com formulários

    1. Criando o projeto do curso com Maven 12m 42s
    2. Criando o template com Facelets 22m 29s
    3. Prototipando a página de login 11m 51s
    4. Prototipando o cadastro de produto 15m 5s
    5. Adicionando o componente AjaxStatus no layout padrão 5m 4s
    6. Configurando máscara de dinheiro com jQuery 9m 37s
    7. Desafio: prototipando o cadastro de cliente
    8. Desafio: prototipando o cadastro de usuário
  4. Exibindo painéis e dados com PrimeFaces

    1. Painel com abas com TabView 9m 58s
    2. TabView dinâmica 9m 36s
    3. Tabela de dados com DataTable 11m 41s
    4. Ordenando dados da DataTable por coluna 6m 28s
    5. Paginação de dados com DataTable 5m 33s
    6. Exercício: painéis e dados com PrimeFaces
  5. Prototipação com painéis e dados

    1. Prototipando a pesquisa de produtos 18m 35s
    2. Prototipando a pesquisa de pedidos 16m 19s
    3. Prototipando o cadastro de pedido 37m 3s
    4. Desafio: prototipando pesquisa de clientes
    5. Desafio: prototipando pesquisa de usuários
    6. Desafio: prototipando listagem de endereços de clientes
    7. Desafio: prototipando inclusão de usuário em grupos
  6. Menus, mensagens e diálogos com PrimeFaces

    1. Barra de menu com Menubar 9m 3s
    2. Mensagens com Messages e Growl 15m 6s
    3. Diálogo suspenso com Dialog 22m 30s
    4. Diálogo de confirmação com ConfirmDialog 11m 42s
    5. Desafio: diálogos e mensagens
  7. Prototipação com menus e diálogos

    1. Incluindo um menu no sistema de pedidos 12m 6s
    2. Incluindo diálogo de confirmação de exclusão de produto 3m 33s
    3. Desafio: ajustando a barra de menu
    4. Desafio: prototipando inclusão de endereços de clientes
    5. Desafio: incluindo diálogos de confirmação
  8. Injeção de dependências com CDI

    1. O que é injeção de dependências? 13m 6s
    2. A especificação CDI e a implementação Weld 3m 41s
    3. Configurando um projeto com JSF e CDI 11m 40s
    4. Escopos de beans 24m 26s
    5. Pontos de injeção 4m 31s
    6. Qualificadores 10m 49s
    7. Métodos produtores 10m 51s
    8. Usando o @ViewScoped com CDI 5m 48s
    9. Desafio: projeto com JSF e CDI
  9. Tratamento de exceções e logging

    1. Tratando a exceção ViewExpiredException 27m 6s
    2. Tratando outras exceções 19m 22s
    3. Logging de mensagens e erros com Log4J 13m 47s
  10. Persistência de dados com JPA 2 e Hibernate

    1. O que é ORM, JPA e Hibernate? 15m 57s
    2. Configurando um projeto com JPA e Hibernate 14m 19s
    3. Criando entidades do cadastro de clientes 10m 2s
    4. Desafio: criando entidades do cadastro de usuários
    5. Desafio: criando entidades do cadastro de produtos
    6. Criando entidades do pedido de venda 14m 4s
    7. Mapeando entidades do cadastro de clientes 18m 32s
    8. Detalhes físicos no mapeamento do cadastro de clientes 16m 15s
    9. Desafio: mapeando entidades do cadastro de usuários
    10. Desafio: mapeando entidades do cadastro de produtos
    11. Mapeando entidades do pedido de venda 27m 1s
  11. Validação do modelo com Bean Validation

    1. Introdução ao Bean Validation e Hibernate Validator 4m 42s
    2. Configurando Bean Validation 10m 43s
    3. Adicionando restrições no cadastro de produto 9m 38s
    4. Adicionando restrições no pedido 13m 19s
    5. Desafio: adicionando restrição no modelo
    6. Mensagens em português e com label do campo 6m 51s
    7. Customizando mensagens de validação 8m 56s
    8. Compondo novas restrições 21m 0s
  12. Integrando páginas, serviços e repositórios

    1. Criando um produtor CDI para injetar EntityManager 22m 6s
    2. Implementando o repositório de categorias 8m 41s
    3. Listener preRenderView chamado muitas vezes 7m 13s
    4. Criando um conversor de categorias 17m 53s
    5. Combo boxes dependentes de categorias e subcategorias 17m 26s
    6. Implementando o serviço de cadastro de produto 22m 43s
    7. Controlando transações em beans CDI 11m 14s
    8. Implementando a pesquisa de produtos 23m 4s
    9. Implementando a edição de produtos 26m 59s
    10. Implementando a exclusão de produtos 16m 8s
    11. Desafio: cadastro de usuários
    12. Desafio: pesquisa de usuários
    13. Desafio: edição e exclusão de usuários
    14. Desafio: cadastro de clientes
    15. Desafio: pesquisa de clientes
    16. Desafio: edição e exclusão de clientes
  13. Página mestre-detalhe: cadastro de pedidos

    1. Implementando a pesquisa de pedidos 19m 33s
    2. Implementando o cadastro de pedidos sem itens 26m 36s
    3. Implementando a edição de pedidos 7m 41s
    4. Calculando valores da capa do pedido 22m 35s
    5. Adicionando itens ao pedido 38m 4s
    6. Atualizando e removendo itens do pedido 7m 3s
    7. Salvando os itens do pedido 9m 53s
    8. Alertando a falta de produtos no estoque 11m 40s
    9. Emitindo pedidos 25m 48s
    10. Cancelando pedidos 14m 34s
    11. Controlando status de pedidos 11m 42s
    12. Desafio: inclusão de endereços de clientes
  14. Envio de e-mail com JavaMail e CDI

    1. Instalando o Simple-Mail no repositório local do Maven 5m 18s
    2. Configurando o projeto para envio de e-mail com CDI 11m 38s
    3. Enviando e-mail com dados do pedido 7m 56s
    4. Template de e-mail com Apache Velocity 16m 41s
    5. Serviços profissionais para envio de e-mails 3m 16s
    6. Desafio: enviando e-mail
  15. Segurança da aplicação com Spring Security

    1. Introdução à autenticação e autorização 3m 20s
    2. Configurando o Spring Security no projeto 8m 23s
    3. Controlando acesso às páginas 7m 57s
    4. Criando um provedor de autenticação customizado 22m 33s
    5. Exibindo o nome do usuário logado 7m 43s
    6. Criando uma página de login customizada 16m 24s
    7. Resolvendo o problema com requisição Ajax 9m 23s
    8. Protegendo componentes 7m 52s
    9. Desafio: protegendo páginas e componentes
  16. Gráficos com PrimeFaces

    1. Incluindo um gráfico de linhas com dados aleatórios 9m 49s
    2. Criando a consulta para o gráfico de linhas 34m 17s
    3. Populando o gráfico com dados dinâmicos 8m 23s
    4. Desafio: gráfico de pizza
  17. Relatórios com JasperReports e iReport

    1. Introdução ao JasperReports e iReport 5m 52s
    2. Criando um relatório de pedidos emitidos 17m 56s
    3. Melhorando a formatação do relatório 9m 5s
    4. Chamando o relatório de uma página JSF 26m 39s
    5. Desafio: criando um novo relatório
  18. Fazendo deploy na nuvem da Amazon AWS

    1. Criando uma instância no Amazon EC2 16m 39s
    2. Criando uma instância de MySQL no Amazon RDS 4m 35s
    3. Instalando o JDK e Tomcat no servidor de produção 6m 36s
    4. Fazendo deploy da aplicação 5m 26s
    5. Testando o sistema na nuvem 3m 34s
    6. Conclusão e próximos passos 6m 20s
  19. Apêndice: Migrando para Java EE 7

    1. Introdução ao Java EE 7 2m 37s
    2. Atualizando as bibliotecas do projeto 18m 25s
    3. Migrando para o Tomcat 8 3m 15s
    4. Fazendo o projeto rodar depois das atualizações 20m 25s
    5. Resolvendo o erro no gráfico do PrimeFaces 7m 1s
    6. Resolvendo o problema com diálogos que não abrem 4m 2s
    7. Namespaces do Java EE 7 7m 25s
    8. Usando DOCTYPE do HTML5 2m 5s
    9. Nova anotação @ViewScoped para beans CDI 5m 2s
  20. Apêndice: Mais recursos do PrimeFaces

    1. Validando entradas em client-side 14m 14s
    2. Customizando mensagens de validação client-side 6m 16s
    3. Estendendo validação client-side com JSF 14m 56s
    4. Usando Metadata na validação client-side 16m 15s
    5. Estendendo validação client-side com Bean Validation 23m 22s
    6. Configurando validação client-side com anotações terceiras 22m 7s
    7. Implementando conversor client-side para Categoria 6m 36s
    8. Hackeando o código de validação client-side do PrimeFaces 16m 51s
    9. Abrindo páginas externas em diálogos com Dialog Framework 16m 51s
    10. Implementando diálogo para seleção de clientes 26m 34s
    11. Exception Handler do PrimeFaces 15m 6s
    12. Controlando o foco de formulários 10m 27s
    13. Exportando para Excel com DataExporter 20m 57s
    14. Carregamento lazy em DataTable 31m 41s
    15. Usando o tema do Bootstrap 6m 45s
    16. Injeção de beans CDI em conversores JSF 13m 42s
    17. Componente ViewAction 5m 13s
    18. Configurando um pool de conexões com C3P0 21m 30s
    19. Relatório com Jaspersoft Studio 27m 58s
    20. Escopo ConversationScoped 35m 15s
  21. PrimeFaces 6, Spring Security 4, Hibernate 5 e Log4j 2

    1. Atualizando para PrimeFaces 6 10m 9s
    2. Atualizando para Spring Security 4 com configuração programática 26m 6s
    3. Atualizando para Log4j 2 11m 6s
    4. Atualizando para Hibernate 5 14m 42s
    5. Criteria do Hibernate Depreciado: Usando Criteria API do JPA 26m 2s
    6. Desafio: Usando Criteria API do JPA 2m 53s

Instrutores

Thiago Faria de Andrade

Thiago Faria de Andrade

Fundador e instrutor da AlgaWorks. Graduado em Sistemas de Informação e certificado SCJP.

Iniciou seu interesse por programação aos 14 anos, quando desenvolveu um software para entretenimento e se tornou um dos mais populares no Brasil e outros países de língua portuguesa.

Já foi sócio e trabalhou em outras empresas de software como programador, gerente e diretor de tecnologia, mas nunca deixou de programar.