Spring Boot Development

This course takes a detailed look at how to use Spring Boot to create sophisticated applications rapidly, according to best practices and contemporary enterprise application patterns.

«I think Andy Olsen is an extraordinarily good instructor! The course was terrific, and I look forward to coming again next month for the course in Kotlin.» Ask Vargset, Skatteetaten

 

The course explains key structural concepts in Spring Boot, such as auto-configuration, profiles, and packaging. We take a detailed look at important Spring Boot APIs, including MVC, WebFlux, REST, Data, Messaging, and Integration. We also show how to create microservices and containerize them usen Docker.

During the course you will build a complete Spring Boot application from front to back, incorporating all the features covered in the course. This will help you understand how each ingredient fits into the bigger picture of the Spring Boot application landscape.

What you'll learn:

  • Creating and configuring Spring Boot applications
  • Understanding Spring Boot auto-configuration
  • Creating Web applications
  • Creating and consuming REST services
  • Reactive programming and WebFlux
  • Accessing SQL and NoSQL data sources
  • Implementing Spring Boot messaging
  • Microservices and Spring Cloud essentials
  • Spring Boot testing
  • Spring Boot and containerization
  • Spring Boot and microservices
  • Spring Boot security

Prerequisites:

  • At least 6 months experience with Java
  • Familiarity with Spring Framework is beneficial, but not essential

Course details:

  • Introduction to Spring Boot: What is Spring Boot; Spring Boot vs. Spring Framework; Spring Boot features and benefits
  • Creating a Spring Boot Application: Using Spring Boot CLI; Using Maven and Gradle; Using Spring Initializr; IDE support; Understanding how Spring Boot applications work; Packaging options
  • Managing Beans and Dependency Injection: Defining components; Configuration classes; Beans; Dependency injection; Value injection and the Spring Expression Language
  • Spring Boot Auto-Configuration: What is auto-configuration; Understanding @EnableXxx annotations; Managing auto-configuration
  • Effective Spring Development: Property files and YAML files; Sources of external configuration; Spring profiles; Spring Boot Actuator; Spring Boot Admin
  • Creating Web Applications: Spring MVC essentials; Defining controllers and views; Managing forms; Additional techniques
  • Creating REST Services: REST essentials; Creating and consuming REST services; Managing links via HATEOAS and HAL; Supporting CORS; Integrating SPA technologies, e.g. Angular
  • Spring Data: Using JDBC; Using JPA; Creating CRUD repositories; Dealing with NoSQL databases; Working with Elasticsearch; Database migrations using Flyway
  • Spring Messaging: Messaging essentials; Configuring queuing infrastructure; Sending and receiving messages; Using Spring Boot with Kafka
  • Spring Integration: Enterprise Application Integration; Using Spring Integration; Spring Integration channel interfaces and implementations; Examples of Spring Integration; Service activation; Integration options
  • Spring Boot Testing: Unit testing; Integration testing; Using WireMock to mock REST endpoints
  • Spring Boot and Containerization: Introduction to containerization and Docker; Understanding Docker images; A closer look at images and containers; Containerizing a Spring Boot application; Automating Dockerization via Maven
  • Spring Boot and Microservices: Overview of microservices; A closer look at microservices and the cloud; Microservices in practice; Microservices application example
  • Spring Boot Security: Security essentials; Authentication and authorization techniques

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Other relevant courses

12. December
2 days
Classroom
5 days
Classroom Virtual
24. March
5 days
Classroom Virtual