REVIEW OF SPRING ESSENTIALS
- Why Spring
- Configuration using Spring
- Bean creation
- Data Management
SPRING BOOT INTRODUCTION
- Introduction to Spring Boot
- Value Proposition of Spring Boot
- High-level Spring Boot features
- Creating a simple Boot application using Spring Initializr web-site
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 negotiation
SPRING SECURITY
- What problems does Spring Security solve?
- Configuring authentication
- Implementing authorization by intercepting URLs
- Authorization using OAuth
- Authorization at the Java method level
- Understanding the Spring Security filter chain
ACTUATORS, METRICS AND HEALTH INDICATORS
- Enabling Spring Boot Actuator
- Custom Metrics
- Health Indicators
- Creating custom Health Indicators
- External monitoring systems
SPRING BOOT TESTING ENHANCEMENTS
- Spring Boot testing overview
- Integration testing and slices
- Slices to test different layers of the application