Duration
2 days.
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.
Skills Gained
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
Who Can Benefit?
Application developers who want to increase their understanding of Spring and Spring Boot and a focus on fundamentals.
Outline for Spring Boot: Developer Training
Outline
Introduction to Spring Essentials
- Why Spring
- Configuration using Spring
- Bean creation
- Data Management
Spring Boot Introduction
- Introduction to Spring Boot Features
- Value Proposition of Spring Boot
- Creating a simple Boot application using Spring Initializr website
Spring Boot Dependencies, Auto-configuration, and Runtime
- Dependency management using Spring Boot starters
- How auto-configuration works
- Configuration properties
- Overriding auto-configuration
- Using CommandLineRunner
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
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
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 negotiationageConverters and automatic content negotiation
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
Actuators, Metrics and Health Indicators
- Exposing Spring Boot Actuator endpoints
- Custom Metrics
- Health Indicators
- Creating custom Health Indicators
- External monitoring systems
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