Master Spring 6 & Spring Boot 3: Build Modern Java Web Apps
What you will learn:
- Java EE application design and architecture using Spring 6 and Spring Boot 3
- Building complete REST APIs from scratch
- Proficiency in IntelliJ, Maven, Git, GitHub, Jackson, JAX-B, Actuator, Swagger, Docker, Docker Compose, and Linux
- Layered application development: Persistence (Entity + Repository), Business (Service), and Controller layers
- Annotation configuration: Lombok, database mapping, argument validation, XML and JSON mapping
- Exception handling: Standard and custom exceptions (ErrorResponse, ExceptionHandler, ControllerAdvice)
- Dependency Injection and Inversion of Control (IoC), including ambiguity resolution in Spring Bean injection
- Spring Data and JDBCTemplate, using multiple configuration profiles and databases (H2 and MySQL)
- Creating CRUD DML statements automatically with Spring Data (inferential) and manually with JDBC Template and SQL
- Configuring connections with different databases using properties files
- Configuration via properties files, @Component, and @Configuration Java classes (Spring Beans)
- Externalizing properties using environment variables and application start properties, including profile selection
- Creating controller layer endpoints, mapping HTTP requests (automatic Servlet mapping), and response flow (ResponseBody and HTTPStatus)
- Creating client responses using ResponseEntity and ResponseStatus, including exception messages (standard and custom ErrorResponse)
- Mapping and handling input attributes via URL (PathVariable and RequestParam) and via RequestBody (XML and JSON)
- Logging with Lombok
- Mappers for deserialization (unmarshalling) and serialization (marshalling) of XML and JSON data (using Jackson and JAX-B)
- Pagination and sorting of client response data
- Compiling and packaging the final application for deployment using Maven Lifecycles (GUI and CLI)
- Using Docker and Docker Compose for application deployment (development and production environments, local and cloud servers)
- Dockerizing the Spring Boot application and connecting it to other Docker containers (databases) via Docker Networks
- Creating and configuring AWS EC2 instances: VPC, security groups, RSA key pairs, EC2 instances
- Accessing remote AWS servers (via local terminal) using SSH
- Deployment to local and cloud servers (AWS)
- Monitoring AWS services to avoid unexpected charges – free AWS services subscription for 12 months
- Creating subdomains and A record registration in your registrar and pointing to the EC2 instance's IPv4 address in AWS
- Testing all endpoints of the REST application created throughout the course
Description
Master Spring 6 and Spring Boot 3: Build Modern Java Web Applications
Learn to design and architect robust Java web applications using Spring Boot 3 and Spring 6. This comprehensive course, presented in Portuguese (audio), guides you through practical, modern development techniques.
Dive into a hands-on experience, covering the entire application lifecycle:
From conceptualizing your application's design and architecture to deploying it on local servers and the cloud (AWS), this course equips you with the skills needed to excel in modern Java web development. We'll explore essential topics including:
- Fundamentals of Java EE Design and Architecture: Gain a solid understanding of architectural principles and best practices.
- Building REST APIs from Scratch: Master the process of creating a fully functional RESTful API using Spring Boot Initializr.
- Layered Architecture: Develop expertise in building well-structured applications using the Entity, Repository, Service, and Controller layers.
- Annotation Mastery: Effectively utilize annotations for entity mapping, validation, and data transformation (Lombok, XML, JSON).
- Exception Handling: Learn to implement robust error handling mechanisms with custom ErrorResponses, ExceptionHandlers, and ControllerAdvice.
- Dependency Injection & Inversion of Control: Master dependency injection using constructors, fields, and properties, along with resolving ambiguities in Spring Bean injection. Explore Spring Data (JDBC and JPA), including automatic CRUD methods and customizing complex functionalities with JDBCTemplate.
- Database Management: Utilize both H2 (in-memory) and MySQL databases, configuring multiple profiles and switching between them seamlessly. Learn how to leverage Docker and Docker Compose for efficient database management.
- Deployment & Cloud Integration: Deploy your applications using various methods: `java -jar`, `mvnw spring-boot:run`, Docker, and Docker Compose. Discover the essentials of AWS EC2 instance creation and deployment, along with essential security configurations.
- Testing & Monitoring: Thoroughly test your application's endpoints and learn to monitor your AWS services to prevent unexpected billing.
- Tools & Technologies: Become proficient using essential tools such as IntelliJ, Maven, Git, GitHub, Jackson, JAX-B, Actuator, Swagger, and Linux.
Enhance your skills, boost your career, and build exceptional Java web applications. Enroll now!
Note: Video resolution should be manually set to 1080p for optimal viewing.