Spring Boot: Developer (EDU-SBD)

This 2-day course offers experience with Spring Boot and its major features, including auto-configuration, Actuator, Spring Boot testing framework and more. On completion, participants will have a foundation for creating enterprise and cloud-ready applications.


Please note that this course is a subset of the material in our 4-day Spring: Core Training course - there is no need to take both courses.  This course is recommended if you have a good working knowledge of Spring Basics (see Prerequisites) but are new to Spring Boot.

 

Intended Audience

Application developers who want to increase their understanding of Spring and Spring Boot and a focus on fundamentals.

 

Prerequisites

A good working knowledge on web application development using Java and an IDE (Eclipse, STS or IntelliJ).

Basic understanding of Spring: Java Config, component- scanning, Spring driven testing and Spring data-management (JdbcTemplate, @Transactional).

Experience using Java and build tools such as Maven or Gradle.


Objectives

By the end of the course, you should be able to meet the following objectives:

  • Describe the benefits provided by Spring Boot
  • Initialize a project using Spring Boot Starters
  • Leverage Spring Boot's auto configuration features 
  • Create simplified backing-store solutions using Spring Data JPA 
  • Build a simple MVC application using Spring Boot, embedded Web Server and fat JARs or classic WARs
  • Build a RESTful Web application 
  • Use Spring Security to secure Web and REST endpoints 
  • Enable and extend metrics and monitoring capabilities using Spring Boot actuator
  • Leverage advance configuration capabilities 
  • Utilize Spring Boot enhancements to testing
részletek megjelenítése


Course Outline

1 Introduction to Spring Essentials

  • Why Spring
  • Configuration using Spring
  • Bean creation
  • Data Management


2 Spring Boot Introduction

  • Introduction to Spring Boot Features
  • Value Proposition of Spring Boot
  • Creating a simple Boot application using Spring Initializr website


3 Spring Boot Dependencies, Auto-configuration, and Runtime

  • Dependency management using Spring Boot starters
  • How auto-configuration works
  • Configuration properties
  • Overriding auto-configuration 
  • Using CommandLineRunner


4 JPA with Spring and Spring Data

  • Quick introduction to ORM with JPA
  • Benefits of using Spring with JPA
  • JPA configuration in Spring
  • Configuring Spring JPA using Spring Boot
  • Spring Data JPA dynamic repositories


5 Spring MVC Architecture and Overview

  • Introduction to Spring MVC and request processing
  • Controller method signatures
  • Using @Controller, @RestController and @GetMapping annotations
  • Configuring Spring MVC with Spring Boot
  • Spring Boot packaging options, JAR or WAR


6 Rest with Spring MVC

  • An introduction to the REST architectural style
  • Controlling HTTP response codes with @ResponseStatus
  • Implementing REST with Spring MVC, @RequestMapping, @RequestBody and @ResponseBody
  • Spring MVC’s HttpMessageConverters and automatic content negotiation


7 Spring Security

  • What problems does Spring Security solve?
  • Configuring authentication
  • Implementing authorization by intercepting URLs
  • Authorization at the Java method level
  • Understanding the Spring Security filter chain
  • Spring security testing


8 Actuators, Metrics and Health Indicators

  • Exposing Spring Boot Actuator endpoints
  • Custom Metrics
  • Health Indicators
  • Creating custom Health Indicators
  • External monitoring systems


9 Spring Boot Testing Enhancements 

  • Spring Boot testing overview
  • Integration testing using @SpringBootTest
  • Web slice testing with MockMvc framework
  • Slices to test different layers of the application