Course objectives
After completing this course, students will be able to:
- Bootstrap Applications: Use Starters and Auto-configuration to set up projects in seconds.
- Build RESTful APIs: Design clean, documented (OpenAPI/Swagger) services using Spring MVC.
- Manage Data Persistence: Use Spring Data JPA and Hibernate to talk to databases without writing complex SQL.
- Secure Applications: Implement JWT-based authentication and OAuth2 using Spring Security.
- Master Microservices: Orchestrate distributed systems using Spring Cloud (API Gateways, Service Discovery).
- Ensure Production Readiness: Use Spring Boot Actuator for health checks and Micrometer for observability.
Course outlines
- Phase 1: Core Spring & Bootstrapping
- Spring IoC & DI: Inversion of Control and Dependency Injection.
- Bean Lifecycle: Understanding @Component, @Service, @Repository, and Scopes.
- Auto-configuration: How @SpringBootApplication works under the hood.
- Phase 2: Web & Data Access
- Spring MVC: Controllers, Request Mapping, and DTO (Data Transfer Object) patterns.
- Spring Data JPA: Entities, Repositories, and Derived Query Methods.
- Database Migrations: Using Flyway or Liquibase for version-controlled DB changes.
- Phase 3: Security & Testing
- Spring Security: Filter chains, UserDetailsService, and Role-Based Access Control (RBAC).
- Testing Suite: Unit testing with JUnit 5, Mocking with Mockito, and Integration tests with @SpringBootTest.
- Phase 4: Modern Enterprise Features
- Observability: Integrated metrics with Prometheus and Grafana.
- Spring AI: Integrating Large Language Models (LLMs) into Spring applications.
- Cloud Native: Dockerization and building GraalVM Native Images for 10x faster startup.