Learn how to design end-to-end Java applications using the Spring framework and its essential gas pedal, Spring Boot. This training course is aimed at developers and architects who want to acquire operational mastery of the Spring ecosystem to build professional, robust and maintainable applications. Through a progressive, hands-on approach, you'll explore the fundamentals of Spring Core (dependency injection, bean management, AOP), data access with JDBC and JPA, transaction management, creating high-performance REST APIs with Spring MVC, and developing server-side views. You'll also discover how to exploit modern development and deployment tools: execution via Spring Boot, creation of OCI images, compatibility with virtual threads and exposure of testable and scalable services. This course will give you a better understanding of the architectural choices made by Spring, and enable you to effectively integrate this framework into your current or future Java projects.
Objectives
Build a complete backend application with Spring framework and Spring boot.
Is it for you ?
Developers and architects.
Prerequisite
This course requires a sound knowledge of the basics of Java programming (principles of object-oriented programming, generic types, annotations, lambda expressions) and experience of working with Eclipse or IntelliJ.
Your benefits
Content
Introduction
- Reminder of good design practices.
- Patterns at the heart of the Spring framework: singleton, prototype, strategy, proxy, factory.
- Essential Spring framework components: core, data access, webmvc.
- Relationship between Spring framework and Spring boot.
- The development environment.
- Deployment strategies: JAR, OCI image, native application.
See more + / -
Managing beans with Spring Core
- The ApplicationContext.
- Declaring a Spring bean.
- Profiles and the @Conditional annotation.
- Dependency injection.
- Accessing properties.
- Callbacks.
- Testing a Spring bean, coupling with Junit.
- Task scheduling.
- Bean supervision with JMX.
- Interceptors: cache, transaction, AOP.
- Automatic configuration.
Practical application: creating a n-tier application with Spring Core and Spring boot.
Data access and transaction management
- Reminders, best practices (non-blocking I/O, ACID principles, connection pool, CAP theorem).
- Spring's contribution: implementation of the unit-of-work pattern.
- Access to relational databases with JdbcClient.
- Coupling with Jakarta persistence API (JPA).
- Transactional demarcation with PlatformTransactionManager.
- Introduction to Spring Data.
Practical application: accessing relational database data with Spring, applying transactions.
REST API with Spring MVC
- Using the embedded web server.
- Enabling non-blocking I/O with virtual threads.
- Best practices for designing a REST API.
- Writing a controller.
- Validation.
- Exception handling.
- Testing a REST API with MockMVC.
Putting it into practice: developing an API exposing the business layer developed previously, consuming REST web services via an HTML/JavaScript frontend.
Server-side GUI with Spring MVC
- Views, the role of the template engine.
- The model.
- Exception handling.
- Validation.
- Message internationalization.
Practical application: create an MVC frontend to expose the business layer developed above.
💡 Useful information
Our training sessions are offered in Montreal or Quebec City, in person or in virtual format. Dates and locations are provided when you select your session below. If you have any questions regarding registration, schedules, the language of instruction, or cancellation policies, please consult our FAQ .
Trainers
Private or personalized training
Do you have several employees interested in the same training course? Whether in person at your offices or remotely in virtual mode, we offer private training courses tailored to your team's needs. Group rates are available. Contact us for more details or request a quote online.
Request a quote