Mastering Spring Boot

This course empowers developers with the skills to build enterprise applications using Spring Boot. With a hands-on approach, you’ll familiarize yourself with the key aspects of Spring Boot such as configurations, data access, web and REST applications, Spring Security and AOP.

Who should attend this course?

Java backend developers wishing to rapidly unlock knowledge of Spring Boot.

Prerequisites

Participants should be comfortable with Java 8+

Practical information

Duration 3 days
Location At your convenience (Europe)
Language English or French

Course details

Each of these sections includes practical exercises. The developers will be invited to progressively build a small microservice that includes every aspect discussed during the training.

Spring Boot: Understanding the framework

  • Inversion of control concept
  • Beans, BeanFactory and ApplicationContext
  • Configurations and Spring Annotations
  • Added value of Spring Boot
  • Process of creating a Spring Boot Creation application with Initializr
  • Spring Boot starters

Spring Web: Developing REST APIs

  • REST controllers and request mappings
  • Path variable and other injectable objects
  • The DispatcherServlet, behind scene
  • DTO validation
  • Exception handling

Spring Data: Access to relational databases*

  • Introduction to ORMs
  • JPA and Hibernate
  • Repositories and CRUD operations
  • Query methods, JPQL and Specifications
  • Understanding the EntityManager and the persistent concept
  • Transaction management
  • Lazy Loading
  • Monitoring and Optimizing queries

* Following your needs, this can be replaced by NoSQL databases

Spring Security: Securing your applications

  • Presentation of Spring Security
  • The concept of filters
  • Securing your SecurityFilterChain
  • The concept of anonymous authentication
  • Securing by URL path
  • Secure the invocation of service methods
  • Spring Expression language
  • Handling access denied exceptions

Spring Test: Unit and integration tests

  • Mocking dependencies with Mockito.
  • Spring Boot integration tests
  • Test your endpoints using MockMvc

Spring AOP

  • Aspect Oriented Programming: Concepts and Vocabulary
  • AOP functionalities
  • Understanding proxies

Spring configurations and configuration profiles

  • Creating application properties
  • Concept of profiles and when to use them
  • Auto configured dependencies

Spring Reactive: introduction

  • When to use Spring Reactive
  • Blocking vs asynchronous calls