Spring 6 and Spring Boot 3: Developing JAVA Web Applications

Spring 6 and Spring Boot 3: Developing JAVA Web Applications

Uma abordagem prática, moderna e didática sobre Design e Arquitetura de Aplicações Web utilizando Java EE e Spring Boot



Sub Category

  • Web Development

{inAds}

Objectives

  • Design e arquitetura de aplicações JEE usando os frameworks Spring 6 e Spring Boot 3
  • Criação de uma aplicação REST completa do zero
  • IntelliJ, Maven, Git, Github, Jackson, JAX-B, Actuator, Swagger, Linux e outras dependências e ferramentas úteis ao desenvolvimento Web
  • Desenvolvimento em camadas: Persistence (Entity + Repository), Business (Service) e Controller layers
  • Configuração via Annotations: Lombok, Mapeamento para o Banco, Validação de argumentos de entrada, Mapeamento para XML e JSON
  • Lançamento e tratamento de exceções padrões e customizadas (ErrorResponse, ExceptionHandler e ControllerAdvice)
  • Injeção de Dependências e Inversão de Controle na prática, incluindo resolução de ambigüidades na injeção de Spring Beans (ligação dinâmica, polimorfismo)
  • Spring Data e JDBCTemplate, com a utilização de múltiplos perfis de configuração e múltiplos SGBDs na mesma aplicação (H2 e MySQL)
  • Criação de CRUD DML statements, de forma automática, usando Spring Data (inferencial), e de forma manual e customizada, usando JDBC Template e SQL puro
  • Configuração de conexões com distintos bancos de dados via Properties
  • Configuração via arquivos de propriedades, @Component e @Configuration Java classes (Spring Beans)
  • Externalização de propriedades através da setagem de variáveis de ambiente e propriedades no start da aplicação, incluindo a seleção do perfil de configuração
  • Criação de endpoints na camada de Controle, mapeamento do fluxo HTTP request (Servlet mapping automático), e fluxo de resposta (ResponseBody e HTTPStatus)
  • Criação da resposta ao cliente usando ResponseEntity e ResponseStatus, incluindo mensagens de exceções (ErrorResponse padrão e customizada)
  • Mapeamento e tratamento de atributos de entrada via URL (PathVariable e RequestParam) e via RequestBody (XML e JSON)
  • Logging com Lombok
  • Mappers para desserialização (unmarshalling) e serialização (marshalling) de dados XML e JSON (usando Jackson e JAX-B) e para mapeamento DTO <-> Entity
  • Paginação e Ordenação de dados de resposta ao cliente
  • Fazendo a Compilação e Empacotamento da aplicação final, para deploy, usando Maven Lifecycles (GUI e CLI)
  • Utilizando Docker e Docker Compose no Deploy da aplicação - ambiente de Desenvolvimento e ambiente de Produção (servidores locais e em nuvem)
  • Deploy usando java -jar, mvnw spring-boot:run, docker compose YAML files e imagens Docker (padrões e customizadas)
  • Dockerizando a aplicação Spring Boot e conectando-a a outros containers Docker (SGBD) via Docker Networks
  • Criação e Configuração de instâncias EC2 na Amazon Cloud (AWS): VPC, Security Group, RSA Key Pair, EC2 Instances
  • Acesso a servidores AWS remotos (via terminal local) usando SSH
  • Deploy em servidores locais e em servidores em Nuvem (AWS)
  • Monitoração de serviços contratados na AWS para evitar-se cobranças inesperadas - assinatura GRATUITA de serviços AWS por 12 meses
  • Criação de subdomínios e registro tipo A no seu Registrar e apontamento para o IPv4 da instância EC2 na AWS
  • Teste de todos os endpoints da aplicação REST criada ao longo do curso


Pre Requisites

  1. Noções básicas de programação Java SE
  2. Noções básicas de Sistemas Operacionais e Redes


FAQ

  • Q. How long do I have access to the course materials?
    • A. You can view and review the lecture materials indefinitely, like an on-demand channel.
  • Q. Can I take my courses with me wherever I go?
    • A. Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!



{inAds}

Coupon Code(s)

Previous Post Next Post