Spring 6 and Spring Boot 3: Developing JAVA Web Applications
2024-12-28
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: Português (Brasil) | Size: 14.49 GB | Duration: 25h 27m
2024-12-28
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: Português (Brasil) | Size: 14.49 GB | Duration: 25h 27m
Uma abordagem prática, moderna e didática sobre Design e Arquitetura de Aplicações Web utilizando Java EE e Spring Boot
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
Requirements
Noções básicas de programação Java SE
Noções básicas de Sistemas Operacionais e Redes
Description
Spring 6 and Spring Boot 3: Developing JAVA Web ApplicationsUma abordagem prática, moderna e didática sobre Design e Arquitetura de Aplicações Web utilizando Java EE e Spring BootWelcome 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 cursoSejam 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 ProgrammerBachelor in ComputingBrazil.
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