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.

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, REST, Data, Messaging, and Integration. We also show how to create microservices and deploy them to the cloud.

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.

Course objectives:

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

Prerequisites:

  • At least 6 months experience with Java
  • Familiarity with Spring Framework is beneficial

Course outline:

  • 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 Cloud Microservices: Overview of Microservices; Creating microservices with Spring Cloud; Microservice techniques
  • Spring Data: Using JDBC; Using JPA; Creating CRUD repositories; Dealing with NoSQL databases
  • Spring Messaging: Messaging essentials; Configuring queuing infrastructure; Sending and receiving messages
  • 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; UI testing
  • Spring Boot Security: Security essentials; Authentication and Authorization techniques; Implementing OAuth2 security

Other relevant courses