Spring Boot in practice: API, data and security
Dependency injection, Spring Boot, data access, REST APIs, security and tests.
- Duration
- 35 h · 5 days
- Level
- Intermediate
- Format
- On site · Remote · Blended
- Max. group size
- 12 participants
Overview
This program covers the Spring and Spring Boot foundation for developing enterprise applications in Java: container and dependency injection, configuration, data access with Spring Data, REST APIs with Spring MVC, security, tests and monitoring. It also covers migration between major versions and what AI brings to Spring development.
Who this program is for
- Experienced Java developers
- Teams adopting Spring Boot
- Architects and tech leads
Prerequisites
- Mastery of Java
- Overview of the Jakarta EE platform appreciated
Learning objectives
- Place Spring relative to Jakarta EE
- Configure the container and its annotations
- Use Spring Boot: starters, auto-configuration, profiles
- Access data with Spring Data JPA
- Build a REST API with Spring MVC
- Secure with Spring Security
- Test and monitor with Actuator
Detailed curriculum
10 modules · 35 h · 5 days
Overview and dependency injection
- Spring and the Java ecosystem
- Inversion of control and injection
- Beans, scopes and lifecycle
- Annotation-based configuration
- Aspect-oriented programming: principles
Spring Core in practice
- Java configuration and profiles
- Property management
- Designing a layered architecture
- Application events
- Container integration tests
Structure a small application with services and injection.
Spring Boot
- Starters and auto-configuration
- Externalized configuration
- Profiles and secrets management
- Packaging and running
- Containerization
First APIs with Spring Boot
- REST controllers
- JSON serialization
- Input validation
- Centralized error handling
- OpenAPI documentation
Create a complete CRUD API.
Data access
- DAO and DTO
- JPA mapping
- Spring Data: repositories and derived queries
- Custom queries and pagination
- Transactions
Model and persist the project's domain.
Data quality and performance
- Relations and lazy loading
- The N+1 query problem
- Database migrations with a dedicated tool
- Auditing and timestamps
- Cache
Spring MVC, WebSockets and reactive
- Spring MVC: controllers and views
- Advanced REST services
- WebSockets
- Introduction to reactive programming
- Choosing MVC or WebFlux
Spring Security
- Authentication and authorization
- Filter chains
- Token-based authentication
- Roles and method-level security
- Protecting an API
Add authentication and roles to the API.
Tests
- Unit and integration tests
- Testing controllers
- Security tests
- Test databases
- Quality and coverage
Monitoring, migration and AI
- Actuator and metrics
- Logging
- Migrating to a new major version
- AI assistants for Spring: best practices
- Review
Review the application and plan its evolution.
Tools and technologies
Teaching methods
- Alternating short lectures and hands-on work
- Live demonstrations by the trainer
- Capstone project built throughout the modules
- Group corrections and discussion of best practices
Assessment
- Hands-on exercises corrected in each module
- Mini-project completed at the end of the course
- Knowledge-check quiz
Required equipment
- A computer with an internet connection
- A recent JDK, Maven or Gradle and a Java IDE
- A database (local or container)
Resources provided
- Course materials and repository of corrected exercises
Career outcomes
- A secure, tested and monitored Spring Boot API
- A clean layered architecture
- The landmarks to migrate to a new major version
Related video courses
My video courses that go with this program, to get ready for the training or to review afterwards. Free with an account.

