Table of Contents
1. Introduction into Spring Framework
1.1. What is Spring?
1.2. Spring vs Java EE
1.3. Evolution of Spring
1.4. Spring Release Timeline
1.5. Different Projects inside Spring
2. Spring Core
2.1. Inversion of Control (IoC)
2.2. Dependency Injection
2.3. Different Approaches for Bean Creation
2.4. Autowiring and Bean Scopes
2.5. Aspect-Oriented Programming (AOP)
3. Spring MVC
3.1. Introduction into Spring MVC
3.2. Overview of Web Apps
3.3. How Web Apps Work
3.4. Spring MVC Internal Flow
3.5. Creating a Web App using Spring MVC
3.6. Spring MVC Validations
4. Thymeleaf
4.1. Building Dynamic Web Apps using Thymeleaf and Spring
4.2. Thymeleaf Integration with Spring, Spring MVC, and Spring Security
5. Spring Boot
5.1. Why Spring Boot?
5.2. Auto Configuration
5.3. Building a Web App using Spring Boot, Thymeleaf, and Spring MVC
5.4. Spring Boot DevTools
5.5. Spring Boot H2 Database
5.6. Connecting to MySQL Database
6. Spring Security
6.1. Authentication and Authorization
6.2. Securing Web Apps and REST APIs using Spring Security
6.3. Role-Based Access Control (RBAC)
6.4. Cross-Site Request Forgery (CSRF)
6.5. Cross-Origin Resource Sharing (CORS)
7. Spring Data
7.1. Why Use ORM Frameworks?
7.2. Introduction to JPA
7.3. Derived Query Methods in JPA
7.4. One-to-One, One-to-Many, Many-to-One, Many-to-Many Mappings in JPA
7.5. Sorting, Pagination, and JPQL
8. Spring REST
8.1. Building REST Services
8.2. Consuming REST Services using OpenFeign, WebClient, and RestTemplate
8.3. Securing REST Services
8.4. Spring Data REST
8.5. HAL Explorer
9. Logging
9.1. Logging Severities
9.2. Configuring Logging in Spring Boot
9.3. Writing Logs to a File
10. Properties and Profiles
10.1. Defining Custom Properties
10.2. Reading Properties in Java Code
10.3. Deep Dive on Spring Profiles
10.4. Activating a Profile
10.5. Conditional Bean Creation using Profiles
11. Actuator
11.1. Introduction to Spring Boot Actuator
11.2. Exploring Actuator APIs
11.3. Securing Actuator Endpoints
11.4. Viewing Actuator Data in Spring Boot Admin