Spring Boot: Developer

Classroom Schedule
Live Online Schedule
vFlex-ILT Schedule
Inquire about Onsite
Course Datasheet
- Formats: Classroom, Live Online, vFlex-ILT, Onsite
- Length: 2 Days
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.

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