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.

Duration

3 days

 

Prerequisites

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

What you'll learn

  • 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

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 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