TI270
Information technology

Spring: building modular, scalable Java applications

Master Spring and develop best-practice backends


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

  • Design modular applications using Spring Core with dependency injection and configuration management
  • Access and manage data with JDBC, JPA, and Spring Data following best practices
  • Build robust REST APIs with Spring MVC, including validation, exception handling, and testing
  • Implement advanced features (AOP, caching, scheduling, profiles) to enhance application quality
  • Deploy and structure Spring Boot applications using scalable and maintainable n-tier architectures
  • 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 .

    Duration
    4 days
    Schedule
    See training dates for details
    Regular fee
    $1,950
    Preferential fee A preferential rate is offered to public institutions, to members of certain professional organizations as well as to companies that do a certain amount of business with Technologia. To know more, please read the "Registration and rates" section on our FAQ page. Please note that preferential rates are not available for online training courses. Discounts cannot be combined with other offers.
    $1,755
    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

    Request in-company 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.

    Tell us more
    Added to cart View my cart