Easy Learning with Spring 6 and Spring Boot 3: Developing JAVA Web Applications
Development > Web Development
25.5 h
£39.99 £12.99
3.6
2409 students

Enroll Now

Language: Portuguese

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.

Curriculum

Introduction

This introductory section lays the groundwork for the course. The "Welcome!!" lecture provides a warm welcome, and the subsequent lectures, "Introduction to Java EE Design and Architecture - Part A" and "Introduction to Java EE Design and Architecture - Part B", delve into the theoretical foundations of Java EE application design and architecture, providing a solid base for understanding the practical implementations throughout the course. These lectures cover essential architectural principles and best practices using Spring 6 and Spring Boot 3.

HANDS-ON: Basic Implementation

This section dives into the practical aspects of creating a web application. "Creating a Web Application from Scratch" guides you step-by-step through the process of building a basic web application, demonstrating the fundamental concepts. The "Implementing the Domain Layer (Entity)" lecture focuses on designing and implementing the domain model, using best practices and explaining the core concepts of entity creation and design. By the end of this section, you will have a functional application and a clear grasp of the core fundamentals.

HANDS-ON: Intermediate Implementation

Building upon the foundational knowledge, this section focuses on more advanced concepts. "Implementing the Persistence and Business Layers" covers the crucial aspects of data persistence and business logic implementation. The three-part series on "Implementing the Controller Layer" provides a comprehensive understanding of handling HTTP requests, mapping URLs, and constructing responses. This section teaches you how to design and build the back end of your application focusing on implementing all the core logic of your application.

HANDS-ON: Advanced Implementation

The final section delves into the advanced topics of deployment and cloud integration. The three-part series on "Deployment on Local Servers and Cloud Servers (AWS)" covers deploying your application to local and AWS servers, walking you through the process of setting up AWS EC2 instances, VPC, security groups, and key pairs. This also covers the essential steps for monitoring your AWS services to avoid unexpected charges and ensures you have a complete understanding of deploying your application to the cloud. You will gain practical knowledge of building and configuring cloud environments and optimizing deployment processes. This hands-on approach will enable you to effectively deploy and manage your applications in both local and cloud environments.