Spring 6 and Spring Boot 3: Developing JAVA Web Applications

Last updated on January 6, 2025 9:18 am
Category:

Description

What you’ll learn

  • 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

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

Welcome all !!! Bem-Vindo a todos !!!

This course has been recorded in Portuguese (audio) and includes the following content and sequence:

Este curso foi gravado em Português (áudio) e inclui o seguinte conteúdo e seqüência:

– Teoria sobre Design e Arquitetura de Aplicações JEE: Spring 6 e Spring Boot 3

– Criando a Aplicação básica do Zero (REST API) no Spring Boot Initializr (Maven Project); adicionando todas as Dependências e criando o Repositório da Aplicação com o Git e GitHub

– Implementando as Classes de Entidade (Domínio) e DTOs; Annotations a nível de Entidade – Annotations Lombok, Annotations de Mapeamento para o Banco, Annotations de Validação de Argumentos e Annotations de Mapeamento para XML e JSON

– Implementando Classes de Repositório (Persistence Layer) e de Serviço (Business Layer), e algumas das Exceções; entendendo e usando Injeção de Dependência via Construtor; aprofundamento em Spring Data (JDBC e JPA): Inversão de Controle na implementação automática de métodos CRUD / DML básicos e como quebrar esta inversão para implementar manualmente métodos customizados complexos usando JDBCTemplate

– Implementando classes de Controle (Controller Layer) e endpoints (HTTP request method + URL) para exposição de recursos REST; mapeamento do fluxo da HTTP request para cada endpoint method; paginação (Pageable) e ordenação (Sort); passagem de atributos na URL do endpoint: PathVariables e RequestParams; passagem e validação de dados no body da HTTP request (RequestBody) e response (ResponseBody); construção da resposta HTTP usando ResponseEntity e ResponseStatus; captura e tratamento local e global de exceções: ExceptionHandler e ControllerAdvice; retornando exceção no corpo da resposta HTTP, usando ErrorResponses customizadas; logging com Lombok; mappers JSON e XML (ObjectMapper) – marshalling e unmarshalling usando Jackson e JAX-B (configurando MIME types); mappers DTO – Entity (ModelMapper); injeção de dependências avançada – Construtor, Fields e Properties; resolução de ambigüidades na injeção: polimorfismo e ligação dinâmica de Spring Beans; criação e configuração de múltiplos perfis de configuração (“dev” e “prod”), com múltimos SGBDs e bancos (H2 e MySQL); SQL init files (esquemas e dados); configuração de conexões: servidor de aplicação e servidores de banco; configuração e teste de SGBD H2 em memória e de MySQL em Docker Container, usando Docker Compose; configuração do Actuator; Swagger GUI

– Compilação e empacotamento de Spring Boot apps usando Maven; deploy em servidores físicos locais usando: java -jar , mvnw spring-boot:run, docker e docker compose; criação e configuração de instâncias EC2 AWS (+VPC, Security Group, RSA Key Pair); acesso a servidores remotos usando SSH; deploy em servidores virtuais remotos na AWS; monitoração de serviços contratados na AWS para evitar-se cobranças inesperadas; 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

Sejam todos muito bem-vindos !!

Espero que este rico e detalhado conteúdo seja útil a todos que queiram de fato se especializar na área de desenvolvimento Web de backend utilizando JAVA EE e Spring Boot !!

* por favor, não esqueça de setar a resolução de reprodução dos videos para 1080p (ao invés de AUTO). A Udemy geralmente seta uma resolução inferior. Apesar de todos os meus videos serem renderizados e feito o upload em 4k, a max resolução na Udemy é 1k (ou menos, se você não setar manualmente).

Atenciosamente,

Daniel Pinheiro Maia, BSc.

Oracle Certified Java Programmer

Bachelor in Computing

Brazil

.

Who this course is for:

  • Para todos que queiram aprender a criar aplicações Web de backend utilizando Java EE e Spring (Boot)
  • O Áudio das aulas deste curso está todo em Português, já o material escrito e comentários do código estão em inglês. Futuramente farei uma versão com o áudio também em Inglês do mesmo conteúdo

Reviews

There are no reviews yet.

Be the first to review “Spring 6 and Spring Boot 3: Developing JAVA Web Applications”

Your email address will not be published. Required fields are marked *