Generic filters
Search in title

Introduction to Spring Boot Training

About the Training

Introduction to Spring Boot Training is designed for software developers and IT professionals who want to develop modern web applications. Spring Boot is an extension of the Spring Framework and is compatible with microservices architecture, providing a standalone structure. It allows for the development of applications with minimal configuration. This training covers the fundamentals of Spring Boot, data access methods, and RESTful API development processes, aiming to give participants an in-depth understanding of the Spring Boot ecosystem.

Throughout the training, participants will explore the innovations and conveniences brought by Spring Boot. Spring Boot eliminates complex configuration processes, allowing developers to quickly develop applications. The training focuses on the architecture and components of Spring Boot and how participants can apply it to their projects.

On the first day of the training, participants will learn the basic principles of the Spring Framework and discover the innovations introduced by Spring Boot. Topics such as Java Development Kit (JDK) installation and configuration, comparison and installation of build tools like Maven and Gradle, and setting up popular Java IDEs (Eclipse, IntelliJ IDEA) will be covered. Practical exercises will include creating the first Spring Boot application, writing a simple “Hello World” RESTful service, and running the application in a local environment.

The second day will focus on data access and business logic management. Participants will learn how to configure connections to databases such as MySQL and PostgreSQL and explore the fundamentals of Spring Data JPA. Topics will include defining the repository layer, the simplicity provided by Spring Data, and JPA Repository methods. Applying business rules through the service layer, transaction management, and validating input data using the validation framework will also be covered.

The final day will focus on RESTful API development and testing processes. Participants will learn the principles of REST architecture and how to use HTTP methods, designing endpoints accordingly. Security configurations will be set up using Spring Security, and basic authentication methods will be taught. The training will conclude with writing unit and integration tests and performing controller tests using MockMvc and TestRestTemplate.

What Will You Learn?

  • You will gain in-depth knowledge of the Spring Framework and Spring Boot ecosystem.
  • You will learn how to install and configure tools such as Java Development Kit (JDK), Maven, and Gradle.
  • You will learn how to create Spring Boot projects using Spring Initializr and write a simple “Hello World” RESTful service.
  • You will learn how to use application.properties and application.yml files for application configuration and configure various profile settings.
  • You will learn how to configure connections to databases like MySQL and PostgreSQL and understand the fundamentals of Spring Data JPA.
  • You will learn how to define Repository and Service layers, manage transactions, and validate input data using the validation framework.
  • You will learn the processes of RESTful API development, endpoint design, and security configurations using Spring Security.
  • You will learn how to write unit and integration tests and perform controller tests using MockMvc and TestRestTemplate.

Prerequisites

  • Basic knowledge of Java
  • Proficiency in Object-Oriented Programming (OOP) concepts
  • Basic knowledge of web technologies (HTTP, REST)
  • Knowledge of databases and SQL (preferably)

Who Should Attend?

  • Java developers
  • Software engineers
  • Back-end developers
  • IT professionals and system administrators
  • Those with knowledge of Spring Framework who want to learn Spring Boot
  • All software enthusiasts who want to develop web applications

Outline

Day 1: Introduction to Spring Boot and Setup 1.1 Spring Ecosystem and Spring Boot
  • Overview of the Spring Framework and ecosystem
  • Principles of Dependency Injection and Inversion of Control
  • Innovations and conveniences Spring Boot brings to the ecosystem
1.2 Installation and Requirements
  • Installation and configuration of Java Development Kit (JDK)
  • Comparison and installation of Maven and Gradle build tools
  • Setting up popular Java IDEs such as Eclipse and IntelliJ IDEA
1.3 First Spring Boot Application
  • Creating a new project structure using the Spring Initializr web tool
  • Writing and explaining a simple “Hello World” RESTful service
  • Running the application locally and reviewing the results
1.4 Application Configuration
  • Using application.properties and application.yml configuration files
  • Configuring various profiles (development, production)
  • Setting up logging mechanisms and their importance
Day 2: Data Access and Business Logic Management 2.1 Database Integration
  • Configuring database connections (MySQL, PostgreSQL)
  • Fundamentals of Spring Data JPA and defining Entity and Repository
  • Working with embedded databases (H2, Derby) and integrating them into the testing process
2.2 Repository Layer
  • Defining Repository interfaces and the simplicity provided by Spring Data
  • JPA Repository methods and usage of Query Annotation
  • Managing relational database operations and performance tips
2.3 Service Layer
  • Applying business rules through the service layer
  • Transaction management and using @Transactional in Spring
  • Validating input data using the validation framework
2.4 Exception Handling
  • Global error management with ControllerAdvice
  • Creating custom error classes and centralizing error management
  • Structures for standardizing API error responses
Day 3: RESTful API Development and Testing 3.1 Controller Layer and RESTful Services
  • Principles of REST architecture and usage of HTTP methods
  • Designing endpoints and using PathVariable, RequestParam
  • API documentation with Swagger or Spring REST Docs
3.2 Data Transfer Objects (DTO)
  • Importance of distinguishing between Entity and DTO
  • Using tools like ModelMapper or MapStruct for automatic conversions
  • Security and performance considerations in data transfer between layers
3.3 Security
  • Fundamentals of Spring Security and security configurations
  • Basic Authentication and form-based authentication approaches
  • Stateless authentication mechanisms with OAuth2 and JWT
3.4 Testing
  • Writing unit and integration tests with Spring Boot
  • Controller testing using MockMvc and TestRestTemplate
  • Handling error scenarios and performance tests
3.5 Closing and Evaluation
  • Presentation and review of applications developed by participants
  • Discussion of real-world scenarios and searching for solutions to problems
  • Collecting feedback and evaluating the training

Training Request Form