Spring Boot Engineering Hub
An analogy-driven, digital textbook guide to Spring Boot 3.x, HTTP protocols, Servlets, Maven engineering, Inversion of Control (IoC), Dependency Injection (DI), Bean Lifecycle, and Enterprise Architecture.
Spring Boot Engineering Hub
Spring Boot is VMware/Broadcom's production-ready, opinionated framework built on top of the Spring Framework ecosystem. Designed around the principle of "Convention over Configuration", Spring Boot enables developers to build self-contained, enterprise-grade Java web applications and microservices with minimal manual configuration.
- Analogy: A Fully Equipped Ghost Kitchen & Turn-Key Smart Factory.
- Traditional Spring Framework: Building a commercial kitchen from scratch—buying stoves, installing gas lines, running ventilation, wiring electrical systems, and assembling XML configuration blueprints before cooking your first dish.
- Spring Boot: A turn-key, pre-configured commercial ghost kitchen container. Plug it into power (
java -jar app.jar), turn the key, and start cooking immediately. - Auto-Configuration (
@EnableAutoConfiguration): The smart building system that detects ingredients on the shelf (dependencies on classpath) and automatically configures appliances (beans) without manual wiring. - Embedded Tomcat Server: The built-in power generator and reception desk packaged directly inside your container—no external server installation required.
🗺️ Spring Boot Digital Textbook Modules & Navigation Roadmap
Explore our structured, modular Spring Boot masterclass below. Organized like a digital textbook, each module covers deep architectural mechanics, request lifecycles, code examples, debugging strategies, and production best practices.
| Module | Core Topics | Key Focus & Engineering Concepts | Read Time |
|---|---|---|---|
| 1. Foundations & Architecture | HTTP, Sockets, Servlets, Tomcat, Spring Framework, Spring Boot, Microservices | Web primitives, request translation layer, thread-per-request model, auto-configuration | ~20 mins |
| 2. Build Tooling & Setup | Maven, pom.xml, GAV, SNAPSHOTs, Initializr, @SpringBootApplication, @RestController | Build lifecycle, transitive dependency tree, embedded Tomcat execution, 404 debugging | ~20 mins |
| 3. Spring Core — IoC & DI | IoC, Dependency Injection, @Component, @ComponentScan, @Configuration, @Bean, @Qualifier | Tight vs loose coupling, constructor injection, component scanning boundaries, bean ambiguity | ~20 mins |
| 4. Bean Lifecycle & Scopes | Lifecycle Pipeline, BeanPostProcessor, @PostConstruct, Scopes (singleton, prototype), @Lazy | 10-stage container execution, AOP proxies, prototype-in-singleton fix, circular dependencies | ~25 mins |
| 5. Legacy XML Configuration | beans.xml, <bean>, <constructor-arg>, <property>, value vs ref, @ImportResource | Legacy XML blueprints, autowire modes, collection injection, hybrid Spring Boot interop | ~15 mins |
| 6. Boot Annotations & Bootstrap | SpringApplication.run(), @SpringBootApplication, @SpringBootConfiguration, @ComponentScan | Master ignition pipeline, Service Locator vs DI, composite annotations, root package rules | ~20 mins |
| 7. Auto-Config & Conditionals | @EnableAutoConfiguration, Classpath Signals, @ConditionalOnClass, @ConditionalOnMissingBean | Auto-config decision pipeline, starters as signals, developer bean precedence, 5 debugging steps | ~25 mins |
| 8. External Config & Binding | application.properties, application.yml, @Value, @ConfigurationProperties, Relaxed Binding | Code vs Config boundary, packaged resources vs externalized env variables, kebab-case to camelCase | ~20 mins |
| 9. Runners & Startup Pipeline | CommandLineRunner, ApplicationRunner, ApplicationArguments, End-to-End Startup Pipeline | Non-web startup tasks, raw vs structured CLI args, configuration-to-bean execution flow, pitfalls | ~20 mins |
| 10. Layered Architecture & JPA | Controller-Service-Repository, God Controller, Package Layout, JPA Entities, ORM, DataSource Crash | Kitchen analogy, strict component boundaries, ORM mapping mechanics, missing property startup crashes | ~25 mins |
| 11. REST CRUD & Production Patterns | POST, GET, PUT, DELETE, @PathVariable, Hard vs Soft Delete, 10-Step Request Flow | REST vocabulary, 3-step update workflow, soft delete audit strategies, query complexity matrix | ~25 mins |
| 12. Spring Data JPA & ORM Engineering | Object-Relational Impedance Mismatch, JPA vs Hibernate, JDBC URL, ddl-auto, Persistence Context | ORM mapping contracts, Flyway/Liquibase schema migrations, dirty checking, B-Tree complexity | ~25 mins |
| 13. Advanced REST & Production Architecture | @RestController, ResponseEntity, Jackson JSON, DTOs, State Machines, TOCTOU Race Conditions | HTTP status codes, over-posting protection, 11-step execution sequence, outside-in debugging | ~25 mins |
| 14. Soft Delete Architecture & JPA Filtering | Logical Deletion, is_deleted Column, PATCH Semantics, findAll() Trap, Derived Queries | Archive cabinet analogy, database existence vs application visibility, findByIsDeletedFalse | ~20 mins |
| 15. Soft Delete Production Patterns & Indexing | @PatchMapping, @Transactional State Mutations, Low-Cardinality Indexing, Pitfalls Checklist | 3-step soft delete pipeline, boolean composite index analysis, 7 critical pitfalls refactoring | ~20 mins |
| 16. Servlets Architecture & Container Lifecycle | Java Servlets, Restaurant Kitchen Analogy, Tomcat Container, ServerSocket vs Servlets, IoC | Network listener mechanics, init/service/destroy lifecycle, multithreaded single-instance concurrency | ~25 mins |
| 17. Servlet Deployment & Spring MVC Progression | WAR Packaging, Maven provided Scope, Embedded Tomcat, DispatcherServlet, Architectural Pipeline | Classloader collision prevention, Front Controller pattern, 6-stage progression, production pitfalls | ~25 mins |
| 18. Spring MVC Core Architecture & Dispatching | Spring Web MVC, Airport Control Tower Analogy, Front Controller, DispatcherServlet, Argument Resolvers | @Controller vs @RestController, startup mapping metadata construction, Jackson HttpMessageConverter | ~25 mins |
| 19. Manual Spring MVC, JSP & Spring Boot Auto-Config | Embedded Tomcat Bootstrap, AnnotationConfigWebApplicationContext, ViewResolver, JSP, Spring Boot | Complete manual App.java, WEB-INF security, model data flow, HashMap vs Database complexity | ~25 mins |
| 20. DTOs & Architectural Boundary Decoupling | Data Transfer Objects, Security Gate Analogy, Entity Exposure Hazards, Request/Response DTOs | Mass assignment protection, sensitive data leakage prevention, API contract stability | ~25 mins |
| 21. Bean Validation & API Contract Enforcement | spring-boot-starter-validation, @NotBlank, @NotNull, @Valid Trigger, HTTP 400 Bad Request | Constraint comparison matrix, skip-service validation rule, structured error response contract | ~25 mins |
| 22. HTTP Response Semantics & Custom Exceptions | Emergency Department Analogy, HTTP Status Taxonomy, ResponseEntity, Custom Exceptions, orElseThrow | Status decision matrix, explicit response construction, unchecked exception signaling | ~25 mins |
| 23. Global Exception Handling & Error Contracts | @RestControllerAdvice, @ExceptionHandler, ErrorResponseDto, 400 vs 409, Production Safety | Centralized exception mapping, field-level validation errors, stack trace leakage protection | ~25 mins |
| 24. Externalized Configuration, Properties & YAML | Hotel Control Panel Analogy, Code vs Config vs Secrets, application.properties, YAML Syntax | .properties vs YAML matrix, @Value vs @ConfigurationProperties, relaxed binding | ~25 mins |
| 25. Spring Profiles & Environment Decoupling | Profiles (dev, test, prod), application-{profile}.yml, Profile Activation, @Profile Beans | Property override hierarchy, Build-Once-Deploy-Anywhere principle, implementation switching | ~25 mins |
| 26. Servlet Filters & Request Interception Pipeline | Security Checkpoint Analogy, Request Pipeline, jakarta.servlet.Filter, doFilter() Continuation | Filter vs Interceptor vs Security matrix, @Order ordering, HttpServletRequest casting | ~25 mins |
| 27. Production Filter Patterns & Security | Request Logging, try-finally Timing, X-Request-Id Trace IDs, Early Rejection (401), Anti-Patterns | Response commitment rules, thread-safety singleton rules, decision tree & checklists | ~25 mins |
| 28. Request/Response Wrappers & Body Caching | Response Headers, Response Commitment, ContentCachingResponseWrapper, HttpServletRequestWrapper | Stream consumption rules, Tape Recorder model, CachedBodyHttpServletRequest, $O(N)$ memory costs | ~25 mins |
| 29. Advanced Filter Registration & OncePerRequestFilter | @Component vs FilterRegistrationBean, URL Scoping (/api/*), Duplicate Registration Bug | OncePerRequestFilter, shouldNotFilter(), DispatcherTypes, Architectural layer selection map | ~25 mins |
Module 1: Foundations & Architecture
- 1.1 Client-Server & HTTP Protocol: Web communication primitives, IP addressing, ports, sockets, URL anatomy, HTTP methods (GET, POST, PUT, PATCH, DELETE), headers, status codes, and idempotency rules.
- 1.2 Servlets & Servlet Containers: Low-level
ServerSockethandling vs Servlet translation API (HttpServlet), Tomcat container mechanics, thread-per-request execution model, and concurrency safety. - 1.3 Spring Ecosystem & Boot Overview: Historical evolution from EJB 2.x to Spring, Framework vs Boot distinction, Spring ecosystem stack layers, opinionated defaults, embedded server execution model, and microservices alignment.
Module 2: Build Tooling & Application Setup
- 2.1 Maven Build Engineering: Apache Maven build pipeline,
pom.xmlarchitecture, GAV coordinates, SNAPSHOT vs Release semantics, transitive dependency resolution, local.m2caching, andspring-boot-maven-pluginFat JAR repackaging. - 2.2 Bootstrap & First Controller: Spring Initializr, canonical project layout,
@SpringBootApplicationmeta-annotation breakdown,@RestController, request routing, application properties, request lifecycle, and step-by-step 404/startup debugging.
Module 3: Spring Core — IoC & Dependency Injection
- 3.1 Inversion of Control & Dependency Injection: Tight vs loose coupling, interface abstraction, IoC container principles, Constructor vs Field vs Setter injection styles, SRP/OCP alignment, and unit testing mockability.
- 3.2 Spring Beans & Component Scanning:
ApplicationContextvsBeanFactory, Stereotype annotations (@Component,@Service,@Repository),@ComponentScanboundaries, explicit Java config (@Configuration&@Bean),BeanDefinitionmetadata, and resolving bean ambiguity with@Primaryand@Qualifier.
Module 4: Bean Lifecycle & Advanced Container Mechanics
- 4.1 Spring Bean Lifecycle & Hooks: Complete 10-stage container execution pipeline from scanning and instantiation to
BeanPostProcessorinterception, AOP proxy wrapping,@PostConstruct, and@PreDestroyresource cleanup. - 4.2 Bean Scopes, Lazy Initialization & Circular Dependencies: Core (
singleton,prototype) and web scopes (request,session), resolving the prototype-in-singleton injection problem viaObjectProvider,@Lazyproxies, circular dependency deadlock mechanics, and refactoring strategies.
Module 5: Legacy Configuration & Hybrid Interop
- 5.1 Legacy XML Configuration & Hybrid Interop: Legacy XML blueprints (
beans.xml),<bean>declarations,valuevsrefwiring, collection injection, XML autowiring modes, custom lifecycle hooks (init-method,destroy-method), and hybrid integration via@ImportResource.
Module 6: Spring Boot Annotations & Bootstrap
- 6.1 Startup Mechanics & SpringApplication.run(): Spring Core vs Spring Boot startup,
SpringApplication.run()execution stages,ApplicationContextcreation, DI vs Service Locator patterns, andCommandLineRunner. - 6.2 @SpringBootApplication & Component Scanning:
@SpringBootApplicationcomposite meta-annotation breakdown (@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan), annotation taxonomy matrix, and root package scanning rules.
Module 7: Auto-Configuration & Conditional Mechanics
- 7.1 Auto-Configuration & Classpath Signals:
@ComponentScanvs@EnableAutoConfiguration, automated workshop mental model, auto-configuration decision pipeline, starters as signals, and console vs web app auto-detection. - 7.2 Conditional Beans & Production Diagnostics:
@ConditionalOnClass,@ConditionalOnMissingBean, developer vs auto-configured bean precedence, full startup state machine, 5 production debugging questions, and anti-patterns.
Module 8: Externalized Configuration & Property Binding
- 8.1 Configuration Sources, Properties & YAML: Code vs Config boundary,
application.propertiesvsapplication.yml, packaged resources vs true externalized configuration, OS environment variables, and environment-specific settings. - 8.2 @Value vs @ConfigurationProperties & Relaxed Binding: Single property resolution via
@Value, default value syntax (${key:default}),@ConfigurationPropertiesgrouped binding, relaxed binding mechanics (kebab-case to camelCase), and trade-off matrices.
Module 9: Runner Interfaces & Startup Pipeline
- 9.1 CommandLineRunner vs ApplicationRunner: Non-web startup tasks vs HTTP controllers, manual bean lookup anti-patterns, raw
String... argsvs structuredApplicationArguments(--key=valueoption flags). - 9.2 End-to-End Configuration Pipeline & Pitfalls: Complete Spring Boot startup data flow (Mermaid sequence), configuration-to-bean execution pipeline, production pitfalls, end-to-end code example, and self-assessment challenges.
Module 10: Layered Architecture & JPA Persistence
- 10.1 Layered Architecture & Responsibilities: Restaurant kitchen analogy, Controller-Service-Repository separation, God Controller anti-pattern, package layout,
@SpringBootApplicationcomponent scanning, and MySQL Server vs Client vs Workbench tooling. - 10.2 JPA Entities, ORM & Database Auto-Configuration: Entity vs flow layer mental model,
@Entitymapping, ORM object-to-row transformation, dependency stack, and why adding database starters without properties causes startup crashes.
Module 11: REST CRUD Implementation & Production Patterns
- 11.1 REST Mapping & CRUD Operations: REST endpoint matrix,
@PathVariablevs@RequestBody, step-by-step Create/Read/Update implementations, 3-step update workflow, and 10-step request execution pipeline. - 11.2 Hard vs Soft Delete, Pitfalls & Refactoring: Hard delete vs soft delete (
isDeletedflag), entity state transition model, database operation complexity matrix, 5 production pitfalls, and God Controller refactoring.
Module 12: Spring Data JPA, ORM & Repository Engineering
- 12.1 ORM, Hibernate Mechanics & DataSource Configuration: Restaurant analogy table, Object-Relational Impedance Mismatch, JPA vs Hibernate, JDBC URL breakdown,
ddl-autosetting matrix, and Flyway/Liquibase schema migrations. - 12.2 Entity Design, Repository Proxies & Persistence Context:
@Entitymapping blueprint, JDK dynamic proxies for repository interfaces, Persistence Context dirty checking mechanics, B-Tree index lookup complexity $O(\log_B N)$, andfindAll()heap memory traps vsPageable.
Module 13: Advanced REST Controllers, DTOs & Production Architecture
- 13.1 REST Controllers, ResponseEntity & Jackson:
@RestControllerprotocol boundary,ResponseEntity<T>structure, standard CRUD HTTP status codes, Jackson serialization pipeline, cleanOptional<T>handling, and 11-step execution sequence. - 13.2 DTOs, State Machines, Anti-Patterns & Debugging: DTO records vs Entity over-posting risks, Mermaid entity state machine, TOCTOU race conditions, 5 production anti-patterns, and outside-in debugging checklists.
Module 14: Soft Delete Architecture & JPA Filtering
- 14.1 Logical Deletion Semantics & Entity Mapping: Hard delete (
DELETE) vs Soft delete (PATCH /soft-delete), archive cabinet analogy, physical existence vs application visibility,@Column(name = "is_deleted"), and state machine transitions. - 14.2 Derived Query Methods & The findById Trap: The
findAll()andfindById()data leakage traps, derived query syntax (findByIsDeletedFalse,findByIdAndIsDeletedFalse), and 3-step soft delete execution pipeline.
Module 15: Soft Delete Production Patterns & Indexing
- 15.1 Controller-Service Pipeline & PATCH Semantics: REST
@PatchMapping("/{id}/soft-delete")controller boundary,@Transactionalservice state mutations, complete reference code implementation, and end-to-end mental model. - 15.2 Indexing, Anti-Patterns & Refactoring: Database indexing caveats for low-cardinality boolean flags, composite index solutions, operational query complexity matrix, 7 production pitfalls, and API refactoring.
Module 16: Servlets Architecture & Container Lifecycle
- 16.1 Servlets Fundamentals & Restaurant Analogy: Java Servlets fundamentals, Restaurant Kitchen mental model, why raw
ServerSocketis insufficient, static vs dynamic sites, and Servlet container IoC. - 16.2 Servlet Lifecycle, Concurrency & Request Pipeline: Complete 4-phase lifecycle pipeline (
init,service,destroy), single-instance multithreaded concurrency hazards, andHttpServletRequest/HttpServletResponseabstractions.
Module 17: Servlet Deployment & Spring MVC Progression
- 17.1 WAR Packaging, Provided Scope & Embedded Tomcat: Web Application Archive (
.war) structure, Maven<scope>provided</scope>classloader isolation rule, external Tomcat administration, and Spring Boot embedded container model. - 17.2 DispatcherServlet, Spring MVC & Production Pitfalls: Traditional Servlet scaling bottlenecks,
DispatcherServletFront Controller pattern, 6-stage architectural progression, production pitfalls matrix, and debugging challenges.
Module 18: Spring MVC Core Architecture & Dispatching
- 18.1 Front Controller & DispatcherServlet: Spring Web MVC fundamentals, Airport Control Tower mental model, Front Controller pattern vs multi-servlet chaos, and
@Controllervs@RestController. - 18.2 HandlerMapping, HandlerAdapter & Argument Resolution: Startup-time mapping metadata construction,
HandlerAdapterinvocation, method argument resolution (@PathVariable,@RequestParam,@RequestBody), and JacksonHttpMessageConverter.
Module 19: Manual Spring MVC, JSP & Spring Boot Auto-Config
- 19.1 Manual Spring MVC & Embedded Tomcat Bootstrap: Manual dependency triad (
spring-webmvc,tomcat-embed-core,jackson-databind),@EnableWebMvcsetup,AnnotationConfigWebApplicationContext,DispatcherServletregistration, andApp.javablueprint. - 19.2 ViewResolver, JSP Pipeline & Spring Boot Automation:
InternalResourceViewResolver, JSP pipeline,WEB-INFsecurity boundary, Spring Boot auto-configuration, and in-memoryHashMapvs database complexity.
Module 20: DTOs & Architectural Boundary Decoupling
- 20.1 Entity Exposure Hazards & Security Gate Model: Building Security Gate mental model, mass assignment vulnerabilities, sensitive data leakage, Entity vs DTO comparison matrix, and architectural boundary rules.
- 20.2 Request/Response DTOs & Mapping Pipelines: Request DTO vs Response DTO specifications, explicit service mapping functions (
mapToEntity,mapToResponseDto), and production CRUD controller implementations.
Module 21: Bean Validation & API Contract Enforcement
- 21.1 Bean Validation Annotations & @Valid Trigger:
spring-boot-starter-validation,@NotBlankvs@NotNullvs@NotEmptycomparison matrix,@Validvalidation trigger, and skip-service execution pipeline. - 21.2 Error Contracts, Anti-Patterns & Refactoring: HTTP 400 Bad Request semantics, structured validation error response contracts, production anti-patterns matrix, and refactoring entity-coupled CRUD APIs.
Module 22: HTTP Response Semantics & Custom Exceptions
- 22.1 HTTP Response Anatomy & ResponseEntity: Emergency Department mental model, HTTP status taxonomy (200, 201, 204, 400, 404, 409, 500), decision matrix, and
ResponseEntityconstruction. - 22.2 Custom Exceptions & Service-Layer Signaling: Why error handling must leave controllers, domain unchecked exceptions (
ResourceNotFoundException,DuplicateResourceException), andOptional.orElseThrow()signals.
Module 23: Global Exception Handling & Error Contracts
- 23.1 @RestControllerAdvice & Exception Mappings:
@RestControllerAdvicevs@ControllerAdvice,ErrorResponseDtoenvelope, request URI logging, and400 Bad Requestvs409 Conflictcritical distinction. - 23.2 Validation Errors, Parsing & Production Safety: Handling
MethodArgumentNotValidExceptionwithfieldErrors, malformed JSON parsing errors, production stack trace leakage security, and exception handler hierarchy.
Module 24: Externalized Configuration, Properties & YAML
- 24.1 Configuration Fundamentals & Properties vs YAML: Hotel Control Panel mental model, code vs config vs secrets boundaries,
application.propertieskey-value spreadsheets, YAML indentation rules, and list representations. - 24.2 Configuration Binding: @Value vs @ConfigurationProperties: Single property injection with
@Value, type-safe grouped binding with@ConfigurationProperties, relaxed binding mechanics, and database/JPA configuration blueprints.
Module 25: Spring Profiles & Environment Decoupling
- 25.1 Profile-Specific Configuration & Activation: Profiles as operating modes (
dev,test,prod),application-{profile}.ymloverride hierarchy, activation mechanisms (CLI, env vars), and build-once-deploy-anywhere principles. - 25.2 Conditional Beans with @Profile & Production Patterns: Changing values (profile files) vs changing beans (
@Profile), interface implementation switching (DevNotificationServicevsProdNotificationService), resolving bean ambiguity, and production anti-patterns.
Module 26: Servlet Filters & Request Interception Pipeline
- 26.1 Servlet Filter Fundamentals & Lifecycle: Security Checkpoint mental model, request pipeline execution,
jakarta.servlet.Filterlifecycle, Spring Boot 3 namespace migration, and cross-cutting concerns matrix. - 26.2 doFilter Continuation, Blocking & Ordering:
chain.doFilter()continuation vs early request blocking, castingServletRequesttoHttpServletRequest,@Orderexecution stack, andDispatcherServletboundary rules.
Module 27: Production Filter Patterns & Security
- 27.1 Production Logging, Timing & Trace IDs: Request logging filter blueprint, guaranteed timing with
try-finally, correlation trace IDs (X-Request-Id), response commitment rules, and sensitive data logging security. - 27.2 Blocking, Anti-Patterns & Thread-Safety: Early request rejection with direct JSON error responses (
401 Unauthorized), thread-safety singleton rules, production anti-patterns, and architectural decision trees.
Module 28: Request/Response Wrappers & Body Caching
- 28.1 Response Mutation & ContentCachingResponseWrapper: Response headers, response commitment rules, sealed envelope mental model,
ContentCachingResponseWrapper,resetBuffer(), andcopyBodyToResponse(). - 28.2 Request Wrappers & Repeatable Body Caching:
HttpServletRequestWrapperheader/parameter substitution, stream consumption rules, Tape Recorder model, classic filter stream bug, andCachedBodyHttpServletRequestre-readable body caching blueprint.
Module 29: Advanced Filter Registration & OncePerRequestFilter
- 29.1 FilterRegistrationBean & URL Scoping:
@ComponentvsFilterRegistrationBean, explicit URL mapping (/api/*), preventing duplicate filter registration bugs, and URL scoping strategies. - 29.2 OncePerRequestFilter & Architectural Layer Selection:
OncePerRequestFilter,doFilterInternal(),shouldNotFilter(), Servlet dispatch types (REQUEST,ASYNC,ERROR), and complete architectural layer selection map.
Module 1: Foundations & Architecture
- 1.1 Client-Server & HTTP Protocol: Web communication primitives, IP addressing, ports, sockets, URL anatomy, HTTP methods (GET, POST, PUT, PATCH, DELETE), headers, status codes, and idempotency rules.
- 1.2 Servlets & Servlet Containers: Low-level
ServerSockethandling vs Servlet translation API (HttpServlet), Tomcat container mechanics, thread-per-request execution model, and concurrency safety. - 1.3 Spring Ecosystem & Boot Overview: Historical evolution from EJB 2.x to Spring, Framework vs Boot distinction, Spring ecosystem stack layers, opinionated defaults, embedded server execution model, and microservices alignment.
Module 2: Build Tooling & Application Setup
- 2.1 Maven Build Engineering: Apache Maven build pipeline,
pom.xmlarchitecture, GAV coordinates, SNAPSHOT vs Release semantics, transitive dependency resolution, local.m2caching, andspring-boot-maven-pluginFat JAR repackaging. - 2.2 Bootstrap & First Controller: Spring Initializr, canonical project layout,
@SpringBootApplicationmeta-annotation breakdown,@RestController, request routing, application properties, request lifecycle, and step-by-step 404/startup debugging.
Module 3: Spring Core — IoC & Dependency Injection
- 3.1 Inversion of Control & Dependency Injection: Tight vs loose coupling, interface abstraction, IoC container principles, Constructor vs Field vs Setter injection styles, SRP/OCP alignment, and unit testing mockability.
- 3.2 Spring Beans & Component Scanning:
ApplicationContextvsBeanFactory, Stereotype annotations (@Component,@Service,@Repository),@ComponentScanboundaries, explicit Java config (@Configuration&@Bean),BeanDefinitionmetadata, and resolving bean ambiguity with@Primaryand@Qualifier.
Module 4: Bean Lifecycle & Advanced Container Mechanics
- 4.1 Spring Bean Lifecycle & Hooks: Complete 10-stage container execution pipeline from scanning and instantiation to
BeanPostProcessorinterception, AOP proxy wrapping,@PostConstruct, and@PreDestroyresource cleanup. - 4.2 Bean Scopes, Lazy Initialization & Circular Dependencies: Core (
singleton,prototype) and web scopes (request,session), resolving the prototype-in-singleton injection problem viaObjectProvider,@Lazyproxies, circular dependency deadlock mechanics, and refactoring strategies.
Module 5: Legacy Configuration & Hybrid Interop
- 5.1 Legacy XML Configuration & Hybrid Interop: Legacy XML blueprints (
beans.xml),<bean>declarations,valuevsrefwiring, collection injection, XML autowiring modes, custom lifecycle hooks (init-method,destroy-method), and hybrid integration via@ImportResource.
Module 6: Spring Boot Annotations & Bootstrap
- 6.1 Startup Mechanics & SpringApplication.run(): Spring Core vs Spring Boot startup,
SpringApplication.run()execution stages,ApplicationContextcreation, DI vs Service Locator patterns, andCommandLineRunner. - 6.2 @SpringBootApplication & Component Scanning:
@SpringBootApplicationcomposite meta-annotation breakdown (@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan), annotation taxonomy matrix, and root package scanning rules.
Module 7: Auto-Configuration & Conditional Mechanics
- 7.1 Auto-Configuration & Classpath Signals:
@ComponentScanvs@EnableAutoConfiguration, automated workshop mental model, auto-configuration decision pipeline, starters as signals, and console vs web app auto-detection. - 7.2 Conditional Beans & Production Diagnostics:
@ConditionalOnClass,@ConditionalOnMissingBean, developer vs auto-configured bean precedence, full startup state machine, 5 production debugging questions, and anti-patterns.
Module 8: Externalized Configuration & Property Binding
- 8.1 Configuration Sources, Properties & YAML: Code vs Config boundary,
application.propertiesvsapplication.yml, packaged resources vs true externalized configuration, OS environment variables, and environment-specific settings. - 8.2 @Value vs @ConfigurationProperties & Relaxed Binding: Single property resolution via
@Value, default value syntax (${key:default}),@ConfigurationPropertiesgrouped binding, relaxed binding mechanics (kebab-case to camelCase), and trade-off matrices.
Module 9: Runner Interfaces & Startup Pipeline
- 9.1 CommandLineRunner vs ApplicationRunner: Non-web startup tasks vs HTTP controllers, manual bean lookup anti-patterns, raw
String... argsvs structuredApplicationArguments(--key=valueoption flags). - 9.2 End-to-End Configuration Pipeline & Pitfalls: Complete Spring Boot startup data flow (Mermaid sequence), configuration-to-bean execution pipeline, production pitfalls, end-to-end code example, and self-assessment challenges.
Module 10: Layered Architecture & JPA Persistence
- 10.1 Layered Architecture & Responsibilities: Restaurant kitchen analogy, Controller-Service-Repository separation, God Controller anti-pattern, package layout,
@SpringBootApplicationcomponent scanning, and MySQL Server vs Client vs Workbench tooling. - 10.2 JPA Entities, ORM & Database Auto-Configuration: Entity vs flow layer mental model,
@Entitymapping, ORM object-to-row transformation, dependency stack, and why adding database starters without properties causes startup crashes.
Module 11: REST CRUD Implementation & Production Patterns
- 11.1 REST Mapping & CRUD Operations: REST endpoint matrix,
@PathVariablevs@RequestBody, step-by-step Create/Read/Update implementations, 3-step update workflow, and 10-step request execution pipeline. - 11.2 Hard vs Soft Delete, Pitfalls & Refactoring: Hard delete vs soft delete (
isDeletedflag), entity state transition model, database operation complexity matrix, 5 production pitfalls, and God Controller refactoring.
Module 12: Spring Data JPA, ORM & Repository Engineering
- 12.1 ORM, Hibernate Mechanics & DataSource Configuration: Restaurant analogy table, Object-Relational Impedance Mismatch, JPA vs Hibernate, JDBC URL breakdown,
ddl-autosetting matrix, and Flyway/Liquibase schema migrations. - 12.2 Entity Design, Repository Proxies & Persistence Context:
@Entitymapping blueprint, JDK dynamic proxies for repository interfaces, Persistence Context dirty checking mechanics, B-Tree index lookup complexity $O(\log_B N)$, andfindAll()heap memory traps vsPageable.
Module 13: Advanced REST Controllers, DTOs & Production Architecture
- 13.1 REST Controllers, ResponseEntity & Jackson:
@RestControllerprotocol boundary,ResponseEntity<T>structure, standard CRUD HTTP status codes, Jackson serialization pipeline, cleanOptional<T>handling, and 11-step execution sequence. - 13.2 DTOs, State Machines, Anti-Patterns & Debugging: DTO records vs Entity over-posting risks, Mermaid entity state machine, TOCTOU race conditions, 5 production anti-patterns, and outside-in debugging checklists.
Module 14: Soft Delete Architecture & JPA Filtering
- 14.1 Logical Deletion Semantics & Entity Mapping: Hard delete (
DELETE) vs Soft delete (PATCH /soft-delete), archive cabinet analogy, physical existence vs application visibility,@Column(name = "is_deleted"), and state machine transitions. - 14.2 Derived Query Methods & The findById Trap: The
findAll()andfindById()data leakage traps, derived query syntax (findByIsDeletedFalse,findByIdAndIsDeletedFalse), and 3-step soft delete execution pipeline.
Module 15: Soft Delete Production Patterns & Indexing
- 15.1 Controller-Service Pipeline & PATCH Semantics: REST
@PatchMapping("/{id}/soft-delete")controller boundary,@Transactionalservice state mutations, complete reference code implementation, and end-to-end mental model. - 15.2 Indexing, Anti-Patterns & Refactoring: Database indexing caveats for low-cardinality boolean flags, composite index solutions, operational query complexity matrix, 7 production pitfalls, and API refactoring.
Module 16: Servlets Architecture & Container Lifecycle
- 16.1 Servlets Fundamentals & Restaurant Analogy: Java Servlets fundamentals, Restaurant Kitchen mental model, why raw
ServerSocketis insufficient, static vs dynamic sites, and Servlet container IoC. - 16.2 Servlet Lifecycle, Concurrency & Request Pipeline: Complete 4-phase lifecycle pipeline (
init,service,destroy), single-instance multithreaded concurrency hazards, andHttpServletRequest/HttpServletResponseabstractions.
Module 17: Servlet Deployment & Spring MVC Progression
- 17.1 WAR Packaging, Provided Scope & Embedded Tomcat: Web Application Archive (
.war) structure, Maven<scope>provided</scope>classloader isolation rule, external Tomcat administration, and Spring Boot embedded container model. - 17.2 DispatcherServlet, Spring MVC & Production Pitfalls: Traditional Servlet scaling bottlenecks,
DispatcherServletFront Controller pattern, 6-stage architectural progression, production pitfalls matrix, and debugging challenges.
Module 18: Spring MVC Core Architecture & Dispatching
- 18.1 Front Controller & DispatcherServlet: Spring Web MVC fundamentals, Airport Control Tower mental model, Front Controller pattern vs multi-servlet chaos, and
@Controllervs@RestController. - 18.2 HandlerMapping, HandlerAdapter & Argument Resolution: Startup-time mapping metadata construction,
HandlerAdapterinvocation, method argument resolution (@PathVariable,@RequestParam,@RequestBody), and JacksonHttpMessageConverter.
Module 19: Manual Spring MVC, JSP & Spring Boot Auto-Config
- 19.1 Manual Spring MVC & Embedded Tomcat Bootstrap: Manual dependency triad (
spring-webmvc,tomcat-embed-core,jackson-databind),@EnableWebMvcsetup,AnnotationConfigWebApplicationContext,DispatcherServletregistration, andApp.javablueprint. - 19.2 ViewResolver, JSP Pipeline & Spring Boot Automation:
InternalResourceViewResolver, JSP pipeline,WEB-INFsecurity boundary, Spring Boot auto-configuration, and in-memoryHashMapvs database complexity.
Module 20: DTOs & Architectural Boundary Decoupling
- 20.1 Entity Exposure Hazards & Security Gate Model: Building Security Gate mental model, mass assignment vulnerabilities, sensitive data leakage, Entity vs DTO comparison matrix, and architectural boundary rules.
- 20.2 Request/Response DTOs & Mapping Pipelines: Request DTO vs Response DTO specifications, explicit service mapping functions (
mapToEntity,mapToResponseDto), and production CRUD controller implementations.
Module 21: Bean Validation & API Contract Enforcement
- 21.1 Bean Validation Annotations & @Valid Trigger:
spring-boot-starter-validation,@NotBlankvs@NotNullvs@NotEmptycomparison matrix,@Validvalidation trigger, and skip-service execution pipeline. - 21.2 Error Contracts, Anti-Patterns & Refactoring: HTTP 400 Bad Request semantics, structured validation error response contracts, production anti-patterns matrix, and refactoring entity-coupled CRUD APIs.
Module 22: HTTP Response Semantics & Custom Exceptions
- 22.1 HTTP Response Anatomy & ResponseEntity: Emergency Department mental model, HTTP status taxonomy (200, 201, 204, 400, 404, 409, 500), decision matrix, and
ResponseEntityconstruction. - 22.2 Custom Exceptions & Service-Layer Signaling: Why error handling must leave controllers, domain unchecked exceptions (
ResourceNotFoundException,DuplicateResourceException), andOptional.orElseThrow()signals.
Module 23: Global Exception Handling & Error Contracts
- 23.1 @RestControllerAdvice & Exception Mappings:
@RestControllerAdvicevs@ControllerAdvice,ErrorResponseDtoenvelope, request URI logging, and400 Bad Requestvs409 Conflictcritical distinction. - 23.2 Validation Errors, Parsing & Production Safety: Handling
MethodArgumentNotValidExceptionwithfieldErrors, malformed JSON parsing errors, production stack trace leakage security, and exception handler hierarchy.
Module 24: Externalized Configuration, Properties & YAML
- 24.1 Configuration Fundamentals & Properties vs YAML: Hotel Control Panel mental model, code vs config vs secrets boundaries,
application.propertieskey-value spreadsheets, YAML indentation rules, and list representations. - 24.2 Configuration Binding: @Value vs @ConfigurationProperties: Single property injection with
@Value, type-safe grouped binding with@ConfigurationProperties, relaxed binding mechanics, and database/JPA configuration blueprints.
Module 25: Spring Profiles & Environment Decoupling
- 25.1 Profile-Specific Configuration & Activation: Profiles as operating modes (
dev,test,prod),application-{profile}.ymloverride hierarchy, activation mechanisms (CLI, env vars), and build-once-deploy-anywhere principles. - 25.2 Conditional Beans with @Profile & Production Patterns: Changing values (profile files) vs changing beans (
@Profile), interface implementation switching (DevNotificationServicevsProdNotificationService), resolving bean ambiguity, and production anti-patterns.
Module 26: Servlet Filters & Request Interception Pipeline
- 26.1 Servlet Filter Fundamentals & Lifecycle: Security Checkpoint mental model, request pipeline execution,
jakarta.servlet.Filterlifecycle, Spring Boot 3 namespace migration, and cross-cutting concerns matrix. - 26.2 doFilter Continuation, Blocking & Ordering:
chain.doFilter()continuation vs early request blocking, castingServletRequesttoHttpServletRequest,@Orderexecution stack, andDispatcherServletboundary rules.
Module 27: Production Filter Patterns & Security
- 27.1 Production Logging, Timing & Trace IDs: Request logging filter blueprint, guaranteed timing with
try-finally, correlation trace IDs (X-Request-Id), response commitment rules, and sensitive data logging security. - 27.2 Blocking, Anti-Patterns & Thread-Safety: Early request rejection with direct JSON error responses (
401 Unauthorized), thread-safety singleton rules, production anti-patterns, and architectural decision trees.
Module 1: Foundations & Architecture
- 1.1 Client-Server & HTTP Protocol: Web communication primitives, IP addressing, ports, sockets, URL anatomy, HTTP methods (GET, POST, PUT, PATCH, DELETE), headers, status codes, and idempotency rules.
- 1.2 Servlets & Servlet Containers: Low-level
ServerSockethandling vs Servlet translation API (HttpServlet), Tomcat container mechanics, thread-per-request execution model, and concurrency safety. - 1.3 Spring Ecosystem & Boot Overview: Historical evolution from EJB 2.x to Spring, Framework vs Boot distinction, Spring ecosystem stack layers, opinionated defaults, embedded server execution model, and microservices alignment.
Module 2: Build Tooling & Application Setup
- 2.1 Maven Build Engineering: Apache Maven build pipeline,
pom.xmlarchitecture, GAV coordinates, SNAPSHOT vs Release semantics, transitive dependency resolution, local.m2caching, andspring-boot-maven-pluginFat JAR repackaging. - 2.2 Bootstrap & First Controller: Spring Initializr, canonical project layout,
@SpringBootApplicationmeta-annotation breakdown,@RestController, request routing, application properties, request lifecycle, and step-by-step 404/startup debugging.
Module 3: Spring Core — IoC & Dependency Injection
- 3.1 Inversion of Control & Dependency Injection: Tight vs loose coupling, interface abstraction, IoC container principles, Constructor vs Field vs Setter injection styles, SRP/OCP alignment, and unit testing mockability.
- 3.2 Spring Beans & Component Scanning:
ApplicationContextvsBeanFactory, Stereotype annotations (@Component,@Service,@Repository),@ComponentScanboundaries, explicit Java config (@Configuration&@Bean),BeanDefinitionmetadata, and resolving bean ambiguity with@Primaryand@Qualifier.
Module 4: Bean Lifecycle & Advanced Container Mechanics
- 4.1 Spring Bean Lifecycle & Hooks: Complete 10-stage container execution pipeline from scanning and instantiation to
BeanPostProcessorinterception, AOP proxy wrapping,@PostConstruct, and@PreDestroyresource cleanup. - 4.2 Bean Scopes, Lazy Initialization & Circular Dependencies: Core (
singleton,prototype) and web scopes (request,session), resolving the prototype-in-singleton injection problem viaObjectProvider,@Lazyproxies, circular dependency deadlock mechanics, and refactoring strategies.
Module 5: Legacy Configuration & Hybrid Interop
- 5.1 Legacy XML Configuration & Hybrid Interop: Legacy XML blueprints (
beans.xml),<bean>declarations,valuevsrefwiring, collection injection, XML autowiring modes, custom lifecycle hooks (init-method,destroy-method), and hybrid integration via@ImportResource.
Module 6: Spring Boot Annotations & Bootstrap
- 6.1 Startup Mechanics & SpringApplication.run(): Spring Core vs Spring Boot startup,
SpringApplication.run()execution stages,ApplicationContextcreation, DI vs Service Locator patterns, andCommandLineRunner. - 6.2 @SpringBootApplication & Component Scanning:
@SpringBootApplicationcomposite meta-annotation breakdown (@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan), annotation taxonomy matrix, and root package scanning rules.
Module 7: Auto-Configuration & Conditional Mechanics
- 7.1 Auto-Configuration & Classpath Signals:
@ComponentScanvs@EnableAutoConfiguration, automated workshop mental model, auto-configuration decision pipeline, starters as signals, and console vs web app auto-detection. - 7.2 Conditional Beans & Production Diagnostics:
@ConditionalOnClass,@ConditionalOnMissingBean, developer vs auto-configured bean precedence, full startup state machine, 5 production debugging questions, and anti-patterns.
Module 8: Externalized Configuration & Property Binding
- 8.1 Configuration Sources, Properties & YAML: Code vs Config boundary,
application.propertiesvsapplication.yml, packaged resources vs true externalized configuration, OS environment variables, and environment-specific settings. - 8.2 @Value vs @ConfigurationProperties & Relaxed Binding: Single property resolution via
@Value, default value syntax (${key:default}),@ConfigurationPropertiesgrouped binding, relaxed binding mechanics (kebab-case to camelCase), and trade-off matrices.
Module 9: Runner Interfaces & Startup Pipeline
- 9.1 CommandLineRunner vs ApplicationRunner: Non-web startup tasks vs HTTP controllers, manual bean lookup anti-patterns, raw
String... argsvs structuredApplicationArguments(--key=valueoption flags). - 9.2 End-to-End Configuration Pipeline & Pitfalls: Complete Spring Boot startup data flow (Mermaid sequence), configuration-to-bean execution pipeline, production pitfalls, end-to-end code example, and self-assessment challenges.
Module 10: Layered Architecture & JPA Persistence
- 10.1 Layered Architecture & Responsibilities: Restaurant kitchen analogy, Controller-Service-Repository separation, God Controller anti-pattern, package layout,
@SpringBootApplicationcomponent scanning, and MySQL Server vs Client vs Workbench tooling. - 10.2 JPA Entities, ORM & Database Auto-Configuration: Entity vs flow layer mental model,
@Entitymapping, ORM object-to-row transformation, dependency stack, and why adding database starters without properties causes startup crashes.
Module 11: REST CRUD Implementation & Production Patterns
- 11.1 REST Mapping & CRUD Operations: REST endpoint matrix,
@PathVariablevs@RequestBody, step-by-step Create/Read/Update implementations, 3-step update workflow, and 10-step request execution pipeline. - 11.2 Hard vs Soft Delete, Pitfalls & Refactoring: Hard delete vs soft delete (
isDeletedflag), entity state transition model, database operation complexity matrix, 5 production pitfalls, and God Controller refactoring.
Module 12: Spring Data JPA, ORM & Repository Engineering
- 12.1 ORM, Hibernate Mechanics & DataSource Configuration: Restaurant analogy table, Object-Relational Impedance Mismatch, JPA vs Hibernate, JDBC URL breakdown,
ddl-autosetting matrix, and Flyway/Liquibase schema migrations. - 12.2 Entity Design, Repository Proxies & Persistence Context:
@Entitymapping blueprint, JDK dynamic proxies for repository interfaces, Persistence Context dirty checking mechanics, B-Tree index lookup complexity $O(\log_B N)$, andfindAll()heap memory traps vsPageable.
Module 13: Advanced REST Controllers, DTOs & Production Architecture
- 13.1 REST Controllers, ResponseEntity & Jackson:
@RestControllerprotocol boundary,ResponseEntity<T>structure, standard CRUD HTTP status codes, Jackson serialization pipeline, cleanOptional<T>handling, and 11-step execution sequence. - 13.2 DTOs, State Machines, Anti-Patterns & Debugging: DTO records vs Entity over-posting risks, Mermaid entity state machine, TOCTOU race conditions, 5 production anti-patterns, and outside-in debugging checklists.
Module 14: Soft Delete Architecture & JPA Filtering
- 14.1 Logical Deletion Semantics & Entity Mapping: Hard delete (
DELETE) vs Soft delete (PATCH /soft-delete), archive cabinet analogy, physical existence vs application visibility,@Column(name = "is_deleted"), and state machine transitions. - 14.2 Derived Query Methods & The findById Trap: The
findAll()andfindById()data leakage traps, derived query syntax (findByIsDeletedFalse,findByIdAndIsDeletedFalse), and 3-step soft delete execution pipeline.
Module 15: Soft Delete Production Patterns & Indexing
- 15.1 Controller-Service Pipeline & PATCH Semantics: REST
@PatchMapping("/{id}/soft-delete")controller boundary,@Transactionalservice state mutations, complete reference code implementation, and end-to-end mental model. - 15.2 Indexing, Anti-Patterns & Refactoring: Database indexing caveats for low-cardinality boolean flags, composite index solutions, operational query complexity matrix, 7 production pitfalls, and API refactoring.
Module 16: Servlets Architecture & Container Lifecycle
- 16.1 Servlets Fundamentals & Restaurant Analogy: Java Servlets fundamentals, Restaurant Kitchen mental model, why raw
ServerSocketis insufficient, static vs dynamic sites, and Servlet container IoC. - 16.2 Servlet Lifecycle, Concurrency & Request Pipeline: Complete 4-phase lifecycle pipeline (
init,service,destroy), single-instance multithreaded concurrency hazards, andHttpServletRequest/HttpServletResponseabstractions.
Module 17: Servlet Deployment & Spring MVC Progression
- 17.1 WAR Packaging, Provided Scope & Embedded Tomcat: Web Application Archive (
.war) structure, Maven<scope>provided</scope>classloader isolation rule, external Tomcat administration, and Spring Boot embedded container model. - 17.2 DispatcherServlet, Spring MVC & Production Pitfalls: Traditional Servlet scaling bottlenecks,
DispatcherServletFront Controller pattern, 6-stage architectural progression, production pitfalls matrix, and debugging challenges.
Module 18: Spring MVC Core Architecture & Dispatching
- 18.1 Front Controller & DispatcherServlet: Spring Web MVC fundamentals, Airport Control Tower mental model, Front Controller pattern vs multi-servlet chaos, and
@Controllervs@RestController. - 18.2 HandlerMapping, HandlerAdapter & Argument Resolution: Startup-time mapping metadata construction,
HandlerAdapterinvocation, method argument resolution (@PathVariable,@RequestParam,@RequestBody), and JacksonHttpMessageConverter.
Module 19: Manual Spring MVC, JSP & Spring Boot Auto-Config
- 19.1 Manual Spring MVC & Embedded Tomcat Bootstrap: Manual dependency triad (
spring-webmvc,tomcat-embed-core,jackson-databind),@EnableWebMvcsetup,AnnotationConfigWebApplicationContext,DispatcherServletregistration, andApp.javablueprint. - 19.2 ViewResolver, JSP Pipeline & Spring Boot Automation:
InternalResourceViewResolver, JSP pipeline,WEB-INFsecurity boundary, Spring Boot auto-configuration, and in-memoryHashMapvs database complexity.
Module 20: DTOs & Architectural Boundary Decoupling
- 20.1 Entity Exposure Hazards & Security Gate Model: Building Security Gate mental model, mass assignment vulnerabilities, sensitive data leakage, Entity vs DTO comparison matrix, and architectural boundary rules.
- 20.2 Request/Response DTOs & Mapping Pipelines: Request DTO vs Response DTO specifications, explicit service mapping functions (
mapToEntity,mapToResponseDto), and production CRUD controller implementations.
Module 21: Bean Validation & API Contract Enforcement
- 21.1 Bean Validation Annotations & @Valid Trigger:
spring-boot-starter-validation,@NotBlankvs@NotNullvs@NotEmptycomparison matrix,@Validvalidation trigger, and skip-service execution pipeline. - 21.2 Error Contracts, Anti-Patterns & Refactoring: HTTP 400 Bad Request semantics, structured validation error response contracts, production anti-patterns matrix, and refactoring entity-coupled CRUD APIs.
Module 22: HTTP Response Semantics & Custom Exceptions
- 22.1 HTTP Response Anatomy & ResponseEntity: Emergency Department mental model, HTTP status taxonomy (200, 201, 204, 400, 404, 409, 500), decision matrix, and
ResponseEntityconstruction. - 22.2 Custom Exceptions & Service-Layer Signaling: Why error handling must leave controllers, domain unchecked exceptions (
ResourceNotFoundException,DuplicateResourceException), andOptional.orElseThrow()signals.
Module 23: Global Exception Handling & Error Contracts
- 23.1 @RestControllerAdvice & Exception Mappings:
@RestControllerAdvicevs@ControllerAdvice,ErrorResponseDtoenvelope, request URI logging, and400 Bad Requestvs409 Conflictcritical distinction. - 23.2 Validation Errors, Parsing & Production Safety: Handling
MethodArgumentNotValidExceptionwithfieldErrors, malformed JSON parsing errors, production stack trace leakage security, and exception handler hierarchy.
Module 24: Externalized Configuration, Properties & YAML
- 24.1 Configuration Fundamentals & Properties vs YAML: Hotel Control Panel mental model, code vs config vs secrets boundaries,
application.propertieskey-value spreadsheets, YAML indentation rules, and list representations. - 24.2 Configuration Binding: @Value vs @ConfigurationProperties: Single property injection with
@Value, type-safe grouped binding with@ConfigurationProperties, relaxed binding mechanics, and database/JPA configuration blueprints.
Module 25: Spring Profiles & Environment Decoupling
- 25.1 Profile-Specific Configuration & Activation: Profiles as operating modes (
dev,test,prod),application-{profile}.ymloverride hierarchy, activation mechanisms (CLI, env vars), and build-once-deploy-anywhere principles. - 25.2 Conditional Beans with @Profile & Production Patterns: Changing values (profile files) vs changing beans (
@Profile), interface implementation switching (DevNotificationServicevsProdNotificationService), resolving bean ambiguity, and production anti-patterns.
Module 1: Foundations & Architecture
- 1.1 Client-Server & HTTP Protocol: Web communication primitives, IP addressing, ports, sockets, URL anatomy, HTTP methods (GET, POST, PUT, PATCH, DELETE), headers, status codes, and idempotency rules.
- 1.2 Servlets & Servlet Containers: Low-level
ServerSockethandling vs Servlet translation API (HttpServlet), Tomcat container mechanics, thread-per-request execution model, and concurrency safety. - 1.3 Spring Ecosystem & Boot Overview: Historical evolution from EJB 2.x to Spring, Framework vs Boot distinction, Spring ecosystem stack layers, opinionated defaults, embedded server execution model, and microservices alignment.
Module 2: Build Tooling & Application Setup
- 2.1 Maven Build Engineering: Apache Maven build pipeline,
pom.xmlarchitecture, GAV coordinates, SNAPSHOT vs Release semantics, transitive dependency resolution, local.m2caching, andspring-boot-maven-pluginFat JAR repackaging. - 2.2 Bootstrap & First Controller: Spring Initializr, canonical project layout,
@SpringBootApplicationmeta-annotation breakdown,@RestController, request routing, application properties, request lifecycle, and step-by-step 404/startup debugging.
Module 3: Spring Core — IoC & Dependency Injection
- 3.1 Inversion of Control & Dependency Injection: Tight vs loose coupling, interface abstraction, IoC container principles, Constructor vs Field vs Setter injection styles, SRP/OCP alignment, and unit testing mockability.
- 3.2 Spring Beans & Component Scanning:
ApplicationContextvsBeanFactory, Stereotype annotations (@Component,@Service,@Repository),@ComponentScanboundaries, explicit Java config (@Configuration&@Bean),BeanDefinitionmetadata, and resolving bean ambiguity with@Primaryand@Qualifier.
Module 4: Bean Lifecycle & Advanced Container Mechanics
- 4.1 Spring Bean Lifecycle & Hooks: Complete 10-stage container execution pipeline from scanning and instantiation to
BeanPostProcessorinterception, AOP proxy wrapping,@PostConstruct, and@PreDestroyresource cleanup. - 4.2 Bean Scopes, Lazy Initialization & Circular Dependencies: Core (
singleton,prototype) and web scopes (request,session), resolving the prototype-in-singleton injection problem viaObjectProvider,@Lazyproxies, circular dependency deadlock mechanics, and refactoring strategies.
Module 5: Legacy Configuration & Hybrid Interop
- 5.1 Legacy XML Configuration & Hybrid Interop: Legacy XML blueprints (
beans.xml),<bean>declarations,valuevsrefwiring, collection injection, XML autowiring modes, custom lifecycle hooks (init-method,destroy-method), and hybrid integration via@ImportResource.
Module 6: Spring Boot Annotations & Bootstrap
- 6.1 Startup Mechanics & SpringApplication.run(): Spring Core vs Spring Boot startup,
SpringApplication.run()execution stages,ApplicationContextcreation, DI vs Service Locator patterns, andCommandLineRunner. - 6.2 @SpringBootApplication & Component Scanning:
@SpringBootApplicationcomposite meta-annotation breakdown (@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan), annotation taxonomy matrix, and root package scanning rules.
Module 7: Auto-Configuration & Conditional Mechanics
- 7.1 Auto-Configuration & Classpath Signals:
@ComponentScanvs@EnableAutoConfiguration, automated workshop mental model, auto-configuration decision pipeline, starters as signals, and console vs web app auto-detection. - 7.2 Conditional Beans & Production Diagnostics:
@ConditionalOnClass,@ConditionalOnMissingBean, developer vs auto-configured bean precedence, full startup state machine, 5 production debugging questions, and anti-patterns.
Module 8: Externalized Configuration & Property Binding
- 8.1 Configuration Sources, Properties & YAML: Code vs Config boundary,
application.propertiesvsapplication.yml, packaged resources vs true externalized configuration, OS environment variables, and environment-specific settings. - 8.2 @Value vs @ConfigurationProperties & Relaxed Binding: Single property resolution via
@Value, default value syntax (${key:default}),@ConfigurationPropertiesgrouped binding, relaxed binding mechanics (kebab-case to camelCase), and trade-off matrices.
Module 9: Runner Interfaces & Startup Pipeline
- 9.1 CommandLineRunner vs ApplicationRunner: Non-web startup tasks vs HTTP controllers, manual bean lookup anti-patterns, raw
String... argsvs structuredApplicationArguments(--key=valueoption flags). - 9.2 End-to-End Configuration Pipeline & Pitfalls: Complete Spring Boot startup data flow (Mermaid sequence), configuration-to-bean execution pipeline, production pitfalls, end-to-end code example, and self-assessment challenges.
Module 10: Layered Architecture & JPA Persistence
- 10.1 Layered Architecture & Responsibilities: Restaurant kitchen analogy, Controller-Service-Repository separation, God Controller anti-pattern, package layout,
@SpringBootApplicationcomponent scanning, and MySQL Server vs Client vs Workbench tooling. - 10.2 JPA Entities, ORM & Database Auto-Configuration: Entity vs flow layer mental model,
@Entitymapping, ORM object-to-row transformation, dependency stack, and why adding database starters without properties causes startup crashes.
Module 11: REST CRUD Implementation & Production Patterns
- 11.1 REST Mapping & CRUD Operations: REST endpoint matrix,
@PathVariablevs@RequestBody, step-by-step Create/Read/Update implementations, 3-step update workflow, and 10-step request execution pipeline. - 11.2 Hard vs Soft Delete, Pitfalls & Refactoring: Hard delete vs soft delete (
isDeletedflag), entity state transition model, database operation complexity matrix, 5 production pitfalls, and God Controller refactoring.
Module 12: Spring Data JPA, ORM & Repository Engineering
- 12.1 ORM, Hibernate Mechanics & DataSource Configuration: Restaurant analogy table, Object-Relational Impedance Mismatch, JPA vs Hibernate, JDBC URL breakdown,
ddl-autosetting matrix, and Flyway/Liquibase schema migrations. - 12.2 Entity Design, Repository Proxies & Persistence Context:
@Entitymapping blueprint, JDK dynamic proxies for repository interfaces, Persistence Context dirty checking mechanics, B-Tree index lookup complexity $O(\log_B N)$, andfindAll()heap memory traps vsPageable.
Module 13: Advanced REST Controllers, DTOs & Production Architecture
- 13.1 REST Controllers, ResponseEntity & Jackson:
@RestControllerprotocol boundary,ResponseEntity<T>structure, standard CRUD HTTP status codes, Jackson serialization pipeline, cleanOptional<T>handling, and 11-step execution sequence. - 13.2 DTOs, State Machines, Anti-Patterns & Debugging: DTO records vs Entity over-posting risks, Mermaid entity state machine, TOCTOU race conditions, 5 production anti-patterns, and outside-in debugging checklists.
Module 14: Soft Delete Architecture & JPA Filtering
- 14.1 Logical Deletion Semantics & Entity Mapping: Hard delete (
DELETE) vs Soft delete (PATCH /soft-delete), archive cabinet analogy, physical existence vs application visibility,@Column(name = "is_deleted"), and state machine transitions. - 14.2 Derived Query Methods & The findById Trap: The
findAll()andfindById()data leakage traps, derived query syntax (findByIsDeletedFalse,findByIdAndIsDeletedFalse), and 3-step soft delete execution pipeline.
Module 15: Soft Delete Production Patterns & Indexing
- 15.1 Controller-Service Pipeline & PATCH Semantics: REST
@PatchMapping("/{id}/soft-delete")controller boundary,@Transactionalservice state mutations, complete reference code implementation, and end-to-end mental model. - 15.2 Indexing, Anti-Patterns & Refactoring: Database indexing caveats for low-cardinality boolean flags, composite index solutions, operational query complexity matrix, 7 production pitfalls, and API refactoring.
Module 16: Servlets Architecture & Container Lifecycle
- 16.1 Servlets Fundamentals & Restaurant Analogy: Java Servlets fundamentals, Restaurant Kitchen mental model, why raw
ServerSocketis insufficient, static vs dynamic sites, and Servlet container IoC. - 16.2 Servlet Lifecycle, Concurrency & Request Pipeline: Complete 4-phase lifecycle pipeline (
init,service,destroy), single-instance multithreaded concurrency hazards, andHttpServletRequest/HttpServletResponseabstractions.
Module 17: Servlet Deployment & Spring MVC Progression
- 17.1 WAR Packaging, Provided Scope & Embedded Tomcat: Web Application Archive (
.war) structure, Maven<scope>provided</scope>classloader isolation rule, external Tomcat administration, and Spring Boot embedded container model. - 17.2 DispatcherServlet, Spring MVC & Production Pitfalls: Traditional Servlet scaling bottlenecks,
DispatcherServletFront Controller pattern, 6-stage architectural progression, production pitfalls matrix, and debugging challenges.
Module 18: Spring MVC Core Architecture & Dispatching
- 18.1 Front Controller & DispatcherServlet: Spring Web MVC fundamentals, Airport Control Tower mental model, Front Controller pattern vs multi-servlet chaos, and
@Controllervs@RestController. - 18.2 HandlerMapping, HandlerAdapter & Argument Resolution: Startup-time mapping metadata construction,
HandlerAdapterinvocation, method argument resolution (@PathVariable,@RequestParam,@RequestBody), and JacksonHttpMessageConverter.
Module 19: Manual Spring MVC, JSP & Spring Boot Auto-Config
- 19.1 Manual Spring MVC & Embedded Tomcat Bootstrap: Manual dependency triad (
spring-webmvc,tomcat-embed-core,jackson-databind),@EnableWebMvcsetup,AnnotationConfigWebApplicationContext,DispatcherServletregistration, andApp.javablueprint. - 19.2 ViewResolver, JSP Pipeline & Spring Boot Automation:
InternalResourceViewResolver, JSP pipeline,WEB-INFsecurity boundary, Spring Boot auto-configuration, and in-memoryHashMapvs database complexity.
Module 20: DTOs & Architectural Boundary Decoupling
- 20.1 Entity Exposure Hazards & Security Gate Model: Building Security Gate mental model, mass assignment vulnerabilities, sensitive data leakage, Entity vs DTO comparison matrix, and architectural boundary rules.
- 20.2 Request/Response DTOs & Mapping Pipelines: Request DTO vs Response DTO specifications, explicit service mapping functions (
mapToEntity,mapToResponseDto), and production CRUD controller implementations.
Module 21: Bean Validation & API Contract Enforcement
- 21.1 Bean Validation Annotations & @Valid Trigger:
spring-boot-starter-validation,@NotBlankvs@NotNullvs@NotEmptycomparison matrix,@Validvalidation trigger, and skip-service execution pipeline. - 21.2 Error Contracts, Anti-Patterns & Refactoring: HTTP 400 Bad Request semantics, structured validation error response contracts, production anti-patterns matrix, and refactoring entity-coupled CRUD APIs.
Module 22: HTTP Response Semantics & Custom Exceptions
- 22.1 HTTP Response Anatomy & ResponseEntity: Emergency Department mental model, HTTP status taxonomy (200, 201, 204, 400, 404, 409, 500), decision matrix, and
ResponseEntityconstruction. - 22.2 Custom Exceptions & Service-Layer Signaling: Why error handling must leave controllers, domain unchecked exceptions (
ResourceNotFoundException,DuplicateResourceException), andOptional.orElseThrow()signals.
Module 23: Global Exception Handling & Error Contracts
- 23.1 @RestControllerAdvice & Exception Mappings:
@RestControllerAdvicevs@ControllerAdvice,ErrorResponseDtoenvelope, request URI logging, and400 Bad Requestvs409 Conflictcritical distinction. - 23.2 Validation Errors, Parsing & Production Safety: Handling
MethodArgumentNotValidExceptionwithfieldErrors, malformed JSON parsing errors, production stack trace leakage security, and exception handler hierarchy.
Module 1: Foundations & Architecture
- 1.1 Client-Server & HTTP Protocol: Web communication primitives, IP addressing, ports, sockets, URL anatomy, HTTP methods (GET, POST, PUT, PATCH, DELETE), headers, status codes, and idempotency rules.
- 1.2 Servlets & Servlet Containers: Low-level
ServerSockethandling vs Servlet translation API (HttpServlet), Tomcat container mechanics, thread-per-request execution model, and concurrency safety. - 1.3 Spring Ecosystem & Boot Overview: Historical evolution from EJB 2.x to Spring, Framework vs Boot distinction, Spring ecosystem stack layers, opinionated defaults, embedded server execution model, and microservices alignment.
Module 2: Build Tooling & Application Setup
- 2.1 Maven Build Engineering: Apache Maven build pipeline,
pom.xmlarchitecture, GAV coordinates, SNAPSHOT vs Release semantics, transitive dependency resolution, local.m2caching, andspring-boot-maven-pluginFat JAR repackaging. - 2.2 Bootstrap & First Controller: Spring Initializr, canonical project layout,
@SpringBootApplicationmeta-annotation breakdown,@RestController, request routing, application properties, request lifecycle, and step-by-step 404/startup debugging.
Module 3: Spring Core — IoC & Dependency Injection
- 3.1 Inversion of Control & Dependency Injection: Tight vs loose coupling, interface abstraction, IoC container principles, Constructor vs Field vs Setter injection styles, SRP/OCP alignment, and unit testing mockability.
- 3.2 Spring Beans & Component Scanning:
ApplicationContextvsBeanFactory, Stereotype annotations (@Component,@Service,@Repository),@ComponentScanboundaries, explicit Java config (@Configuration&@Bean),BeanDefinitionmetadata, and resolving bean ambiguity with@Primaryand@Qualifier.
Module 4: Bean Lifecycle & Advanced Container Mechanics
- 4.1 Spring Bean Lifecycle & Hooks: Complete 10-stage container execution pipeline from scanning and instantiation to
BeanPostProcessorinterception, AOP proxy wrapping,@PostConstruct, and@PreDestroyresource cleanup. - 4.2 Bean Scopes, Lazy Initialization & Circular Dependencies: Core (
singleton,prototype) and web scopes (request,session), resolving the prototype-in-singleton injection problem viaObjectProvider,@Lazyproxies, circular dependency deadlock mechanics, and refactoring strategies.
Module 5: Legacy Configuration & Hybrid Interop
- 5.1 Legacy XML Configuration & Hybrid Interop: Legacy XML blueprints (
beans.xml),<bean>declarations,valuevsrefwiring, collection injection, XML autowiring modes, custom lifecycle hooks (init-method,destroy-method), and hybrid integration via@ImportResource.
Module 6: Spring Boot Annotations & Bootstrap
- 6.1 Startup Mechanics & SpringApplication.run(): Spring Core vs Spring Boot startup,
SpringApplication.run()execution stages,ApplicationContextcreation, DI vs Service Locator patterns, andCommandLineRunner. - 6.2 @SpringBootApplication & Component Scanning:
@SpringBootApplicationcomposite meta-annotation breakdown (@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan), annotation taxonomy matrix, and root package scanning rules.
Module 7: Auto-Configuration & Conditional Mechanics
- 7.1 Auto-Configuration & Classpath Signals:
@ComponentScanvs@EnableAutoConfiguration, automated workshop mental model, auto-configuration decision pipeline, starters as signals, and console vs web app auto-detection. - 7.2 Conditional Beans & Production Diagnostics:
@ConditionalOnClass,@ConditionalOnMissingBean, developer vs auto-configured bean precedence, full startup state machine, 5 production debugging questions, and anti-patterns.
Module 8: Externalized Configuration & Property Binding
- 8.1 Configuration Sources, Properties & YAML: Code vs Config boundary,
application.propertiesvsapplication.yml, packaged resources vs true externalized configuration, OS environment variables, and environment-specific settings. - 8.2 @Value vs @ConfigurationProperties & Relaxed Binding: Single property resolution via
@Value, default value syntax (${key:default}),@ConfigurationPropertiesgrouped binding, relaxed binding mechanics (kebab-case to camelCase), and trade-off matrices.
Module 9: Runner Interfaces & Startup Pipeline
- 9.1 CommandLineRunner vs ApplicationRunner: Non-web startup tasks vs HTTP controllers, manual bean lookup anti-patterns, raw
String... argsvs structuredApplicationArguments(--key=valueoption flags). - 9.2 End-to-End Configuration Pipeline & Pitfalls: Complete Spring Boot startup data flow (Mermaid sequence), configuration-to-bean execution pipeline, production pitfalls, end-to-end code example, and self-assessment challenges.
Module 10: Layered Architecture & JPA Persistence
- 10.1 Layered Architecture & Responsibilities: Restaurant kitchen analogy, Controller-Service-Repository separation, God Controller anti-pattern, package layout,
@SpringBootApplicationcomponent scanning, and MySQL Server vs Client vs Workbench tooling. - 10.2 JPA Entities, ORM & Database Auto-Configuration: Entity vs flow layer mental model,
@Entitymapping, ORM object-to-row transformation, dependency stack, and why adding database starters without properties causes startup crashes.
Module 11: REST CRUD Implementation & Production Patterns
- 11.1 REST Mapping & CRUD Operations: REST endpoint matrix,
@PathVariablevs@RequestBody, step-by-step Create/Read/Update implementations, 3-step update workflow, and 10-step request execution pipeline. - 11.2 Hard vs Soft Delete, Pitfalls & Refactoring: Hard delete vs soft delete (
isDeletedflag), entity state transition model, database operation complexity matrix, 5 production pitfalls, and God Controller refactoring.
Module 12: Spring Data JPA, ORM & Repository Engineering
- 12.1 ORM, Hibernate Mechanics & DataSource Configuration: Restaurant analogy table, Object-Relational Impedance Mismatch, JPA vs Hibernate, JDBC URL breakdown,
ddl-autosetting matrix, and Flyway/Liquibase schema migrations. - 12.2 Entity Design, Repository Proxies & Persistence Context:
@Entitymapping blueprint, JDK dynamic proxies for repository interfaces, Persistence Context dirty checking mechanics, B-Tree index lookup complexity $O(\log_B N)$, andfindAll()heap memory traps vsPageable.
Module 13: Advanced REST Controllers, DTOs & Production Architecture
- 13.1 REST Controllers, ResponseEntity & Jackson:
@RestControllerprotocol boundary,ResponseEntity<T>structure, standard CRUD HTTP status codes, Jackson serialization pipeline, cleanOptional<T>handling, and 11-step execution sequence. - 13.2 DTOs, State Machines, Anti-Patterns & Debugging: DTO records vs Entity over-posting risks, Mermaid entity state machine, TOCTOU race conditions, 5 production anti-patterns, and outside-in debugging checklists.
Module 14: Soft Delete Architecture & JPA Filtering
- 14.1 Logical Deletion Semantics & Entity Mapping: Hard delete (
DELETE) vs Soft delete (PATCH /soft-delete), archive cabinet analogy, physical existence vs application visibility,@Column(name = "is_deleted"), and state machine transitions. - 14.2 Derived Query Methods & The findById Trap: The
findAll()andfindById()data leakage traps, derived query syntax (findByIsDeletedFalse,findByIdAndIsDeletedFalse), and 3-step soft delete execution pipeline.
Module 15: Soft Delete Production Patterns & Indexing
- 15.1 Controller-Service Pipeline & PATCH Semantics: REST
@PatchMapping("/{id}/soft-delete")controller boundary,@Transactionalservice state mutations, complete reference code implementation, and end-to-end mental model. - 15.2 Indexing, Anti-Patterns & Refactoring: Database indexing caveats for low-cardinality boolean flags, composite index solutions, operational query complexity matrix, 7 production pitfalls, and API refactoring.
Module 16: Servlets Architecture & Container Lifecycle
- 16.1 Servlets Fundamentals & Restaurant Analogy: Java Servlets fundamentals, Restaurant Kitchen mental model, why raw
ServerSocketis insufficient, static vs dynamic sites, and Servlet container IoC. - 16.2 Servlet Lifecycle, Concurrency & Request Pipeline: Complete 4-phase lifecycle pipeline (
init,service,destroy), single-instance multithreaded concurrency hazards, andHttpServletRequest/HttpServletResponseabstractions.
Module 17: Servlet Deployment & Spring MVC Progression
- 17.1 WAR Packaging, Provided Scope & Embedded Tomcat: Web Application Archive (
.war) structure, Maven<scope>provided</scope>classloader isolation rule, external Tomcat administration, and Spring Boot embedded container model. - 17.2 DispatcherServlet, Spring MVC & Production Pitfalls: Traditional Servlet scaling bottlenecks,
DispatcherServletFront Controller pattern, 6-stage architectural progression, production pitfalls matrix, and debugging challenges.
Module 18: Spring MVC Core Architecture & Dispatching
- 18.1 Front Controller & DispatcherServlet: Spring Web MVC fundamentals, Airport Control Tower mental model, Front Controller pattern vs multi-servlet chaos, and
@Controllervs@RestController. - 18.2 HandlerMapping, HandlerAdapter & Argument Resolution: Startup-time mapping metadata construction,
HandlerAdapterinvocation, method argument resolution (@PathVariable,@RequestParam,@RequestBody), and JacksonHttpMessageConverter.
Module 19: Manual Spring MVC, JSP & Spring Boot Auto-Config
- 19.1 Manual Spring MVC & Embedded Tomcat Bootstrap: Manual dependency triad (
spring-webmvc,tomcat-embed-core,jackson-databind),@EnableWebMvcsetup,AnnotationConfigWebApplicationContext,DispatcherServletregistration, andApp.javablueprint. - 19.2 ViewResolver, JSP Pipeline & Spring Boot Automation:
InternalResourceViewResolver, JSP pipeline,WEB-INFsecurity boundary, Spring Boot auto-configuration, and in-memoryHashMapvs database complexity.
Module 20: DTOs & Architectural Boundary Decoupling
- 20.1 Entity Exposure Hazards & Security Gate Model: Building Security Gate mental model, mass assignment vulnerabilities, sensitive data leakage, Entity vs DTO comparison matrix, and architectural boundary rules.
- 20.2 Request/Response DTOs & Mapping Pipelines: Request DTO vs Response DTO specifications, explicit service mapping functions (
mapToEntity,mapToResponseDto), and production CRUD controller implementations.
Module 21: Bean Validation & API Contract Enforcement
- 21.1 Bean Validation Annotations & @Valid Trigger:
spring-boot-starter-validation,@NotBlankvs@NotNullvs@NotEmptycomparison matrix,@Validvalidation trigger, and skip-service execution pipeline. - 21.2 Error Contracts, Anti-Patterns & Refactoring: HTTP 400 Bad Request semantics, structured validation error response contracts, production anti-patterns matrix, and refactoring entity-coupled CRUD APIs.
Module 1: Foundations & Architecture
- 1.1 Client-Server & HTTP Protocol: Web communication primitives, IP addressing, ports, sockets, URL anatomy, HTTP methods (GET, POST, PUT, PATCH, DELETE), headers, status codes, and idempotency rules.
- 1.2 Servlets & Servlet Containers: Low-level
ServerSockethandling vs Servlet translation API (HttpServlet), Tomcat container mechanics, thread-per-request execution model, and concurrency safety. - 1.3 Spring Ecosystem & Boot Overview: Historical evolution from EJB 2.x to Spring, Framework vs Boot distinction, Spring ecosystem stack layers, opinionated defaults, embedded server execution model, and microservices alignment.
Module 2: Build Tooling & Application Setup
- 2.1 Maven Build Engineering: Apache Maven build pipeline,
pom.xmlarchitecture, GAV coordinates, SNAPSHOT vs Release semantics, transitive dependency resolution, local.m2caching, andspring-boot-maven-pluginFat JAR repackaging. - 2.2 Bootstrap & First Controller: Spring Initializr, canonical project layout,
@SpringBootApplicationmeta-annotation breakdown,@RestController, request routing, application properties, request lifecycle, and step-by-step 404/startup debugging.
Module 3: Spring Core — IoC & Dependency Injection
- 3.1 Inversion of Control & Dependency Injection: Tight vs loose coupling, interface abstraction, IoC container principles, Constructor vs Field vs Setter injection styles, SRP/OCP alignment, and unit testing mockability.
- 3.2 Spring Beans & Component Scanning:
ApplicationContextvsBeanFactory, Stereotype annotations (@Component,@Service,@Repository),@ComponentScanboundaries, explicit Java config (@Configuration&@Bean),BeanDefinitionmetadata, and resolving bean ambiguity with@Primaryand@Qualifier.
Module 4: Bean Lifecycle & Advanced Container Mechanics
- 4.1 Spring Bean Lifecycle & Hooks: Complete 10-stage container execution pipeline from scanning and instantiation to
BeanPostProcessorinterception, AOP proxy wrapping,@PostConstruct, and@PreDestroyresource cleanup. - 4.2 Bean Scopes, Lazy Initialization & Circular Dependencies: Core (
singleton,prototype) and web scopes (request,session), resolving the prototype-in-singleton injection problem viaObjectProvider,@Lazyproxies, circular dependency deadlock mechanics, and refactoring strategies.
Module 5: Legacy Configuration & Hybrid Interop
- 5.1 Legacy XML Configuration & Hybrid Interop: Legacy XML blueprints (
beans.xml),<bean>declarations,valuevsrefwiring, collection injection, XML autowiring modes, custom lifecycle hooks (init-method,destroy-method), and hybrid integration via@ImportResource.
Module 6: Spring Boot Annotations & Bootstrap
- 6.1 Startup Mechanics & SpringApplication.run(): Spring Core vs Spring Boot startup,
SpringApplication.run()execution stages,ApplicationContextcreation, DI vs Service Locator patterns, andCommandLineRunner. - 6.2 @SpringBootApplication & Component Scanning:
@SpringBootApplicationcomposite meta-annotation breakdown (@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan), annotation taxonomy matrix, and root package scanning rules.
Module 7: Auto-Configuration & Conditional Mechanics
- 7.1 Auto-Configuration & Classpath Signals:
@ComponentScanvs@EnableAutoConfiguration, automated workshop mental model, auto-configuration decision pipeline, starters as signals, and console vs web app auto-detection. - 7.2 Conditional Beans & Production Diagnostics:
@ConditionalOnClass,@ConditionalOnMissingBean, developer vs auto-configured bean precedence, full startup state machine, 5 production debugging questions, and anti-patterns.
Module 8: Externalized Configuration & Property Binding
- 8.1 Configuration Sources, Properties & YAML: Code vs Config boundary,
application.propertiesvsapplication.yml, packaged resources vs true externalized configuration, OS environment variables, and environment-specific settings. - 8.2 @Value vs @ConfigurationProperties & Relaxed Binding: Single property resolution via
@Value, default value syntax (${key:default}),@ConfigurationPropertiesgrouped binding, relaxed binding mechanics (kebab-case to camelCase), and trade-off matrices.
Module 9: Runner Interfaces & Startup Pipeline
- 9.1 CommandLineRunner vs ApplicationRunner: Non-web startup tasks vs HTTP controllers, manual bean lookup anti-patterns, raw
String... argsvs structuredApplicationArguments(--key=valueoption flags). - 9.2 End-to-End Configuration Pipeline & Pitfalls: Complete Spring Boot startup data flow (Mermaid sequence), configuration-to-bean execution pipeline, production pitfalls, end-to-end code example, and self-assessment challenges.
Module 10: Layered Architecture & JPA Persistence
- 10.1 Layered Architecture & Responsibilities: Restaurant kitchen analogy, Controller-Service-Repository separation, God Controller anti-pattern, package layout,
@SpringBootApplicationcomponent scanning, and MySQL Server vs Client vs Workbench tooling. - 10.2 JPA Entities, ORM & Database Auto-Configuration: Entity vs flow layer mental model,
@Entitymapping, ORM object-to-row transformation, dependency stack, and why adding database starters without properties causes startup crashes.
Module 11: REST CRUD Implementation & Production Patterns
- 11.1 REST Mapping & CRUD Operations: REST endpoint matrix,
@PathVariablevs@RequestBody, step-by-step Create/Read/Update implementations, 3-step update workflow, and 10-step request execution pipeline. - 11.2 Hard vs Soft Delete, Pitfalls & Refactoring: Hard delete vs soft delete (
isDeletedflag), entity state transition model, database operation complexity matrix, 5 production pitfalls, and God Controller refactoring.
Module 12: Spring Data JPA, ORM & Repository Engineering
- 12.1 ORM, Hibernate Mechanics & DataSource Configuration: Restaurant analogy table, Object-Relational Impedance Mismatch, JPA vs Hibernate, JDBC URL breakdown,
ddl-autosetting matrix, and Flyway/Liquibase schema migrations. - 12.2 Entity Design, Repository Proxies & Persistence Context:
@Entitymapping blueprint, JDK dynamic proxies for repository interfaces, Persistence Context dirty checking mechanics, B-Tree index lookup complexity $O(\log_B N)$, andfindAll()heap memory traps vsPageable.
Module 13: Advanced REST Controllers, DTOs & Production Architecture
- 13.1 REST Controllers, ResponseEntity & Jackson:
@RestControllerprotocol boundary,ResponseEntity<T>structure, standard CRUD HTTP status codes, Jackson serialization pipeline, cleanOptional<T>handling, and 11-step execution sequence. - 13.2 DTOs, State Machines, Anti-Patterns & Debugging: DTO records vs Entity over-posting risks, Mermaid entity state machine, TOCTOU race conditions, 5 production anti-patterns, and outside-in debugging checklists.
Module 14: Soft Delete Architecture & JPA Filtering
- 14.1 Logical Deletion Semantics & Entity Mapping: Hard delete (
DELETE) vs Soft delete (PATCH /soft-delete), archive cabinet analogy, physical existence vs application visibility,@Column(name = "is_deleted"), and state machine transitions. - 14.2 Derived Query Methods & The findById Trap: The
findAll()andfindById()data leakage traps, derived query syntax (findByIsDeletedFalse,findByIdAndIsDeletedFalse), and 3-step soft delete execution pipeline.
Module 15: Soft Delete Production Patterns & Indexing
- 15.1 Controller-Service Pipeline & PATCH Semantics: REST
@PatchMapping("/{id}/soft-delete")controller boundary,@Transactionalservice state mutations, complete reference code implementation, and end-to-end mental model. - 15.2 Indexing, Anti-Patterns & Refactoring: Database indexing caveats for low-cardinality boolean flags, composite index solutions, operational query complexity matrix, 7 production pitfalls, and API refactoring.
Module 16: Servlets Architecture & Container Lifecycle
- 16.1 Servlets Fundamentals & Restaurant Analogy: Java Servlets fundamentals, Restaurant Kitchen mental model, why raw
ServerSocketis insufficient, static vs dynamic sites, and Servlet container IoC. - 16.2 Servlet Lifecycle, Concurrency & Request Pipeline: Complete 4-phase lifecycle pipeline (
init,service,destroy), single-instance multithreaded concurrency hazards, andHttpServletRequest/HttpServletResponseabstractions.
Module 17: Servlet Deployment & Spring MVC Progression
- 17.1 WAR Packaging, Provided Scope & Embedded Tomcat: Web Application Archive (
.war) structure, Maven<scope>provided</scope>classloader isolation rule, external Tomcat administration, and Spring Boot embedded container model. - 17.2 DispatcherServlet, Spring MVC & Production Pitfalls: Traditional Servlet scaling bottlenecks,
DispatcherServletFront Controller pattern, 6-stage architectural progression, production pitfalls matrix, and debugging challenges.
Module 18: Spring MVC Core Architecture & Dispatching
- 18.1 Front Controller & DispatcherServlet: Spring Web MVC fundamentals, Airport Control Tower mental model, Front Controller pattern vs multi-servlet chaos, and
@Controllervs@RestController. - 18.2 HandlerMapping, HandlerAdapter & Argument Resolution: Startup-time mapping metadata construction,
HandlerAdapterinvocation, method argument resolution (@PathVariable,@RequestParam,@RequestBody), and JacksonHttpMessageConverter.
Module 19: Manual Spring MVC, JSP & Spring Boot Auto-Config
- 19.1 Manual Spring MVC & Embedded Tomcat Bootstrap: Manual dependency triad (
spring-webmvc,tomcat-embed-core,jackson-databind),@EnableWebMvcsetup,AnnotationConfigWebApplicationContext,DispatcherServletregistration, andApp.javablueprint. - 19.2 ViewResolver, JSP Pipeline & Spring Boot Automation:
InternalResourceViewResolver, JSP pipeline,WEB-INFsecurity boundary, Spring Boot auto-configuration, and in-memoryHashMapvs database complexity.
Module 1: Foundations & Architecture
- 1.1 Client-Server & HTTP Protocol: Web communication primitives, IP addressing, ports, sockets, URL anatomy, HTTP methods (GET, POST, PUT, PATCH, DELETE), headers, status codes, and idempotency rules.
- 1.2 Servlets & Servlet Containers: Low-level
ServerSockethandling vs Servlet translation API (HttpServlet), Tomcat container mechanics, thread-per-request execution model, and concurrency safety. - 1.3 Spring Ecosystem & Boot Overview: Historical evolution from EJB 2.x to Spring, Framework vs Boot distinction, Spring ecosystem stack layers, opinionated defaults, embedded server execution model, and microservices alignment.
Module 2: Build Tooling & Application Setup
- 2.1 Maven Build Engineering: Apache Maven build pipeline,
pom.xmlarchitecture, GAV coordinates, SNAPSHOT vs Release semantics, transitive dependency resolution, local.m2caching, andspring-boot-maven-pluginFat JAR repackaging. - 2.2 Bootstrap & First Controller: Spring Initializr, canonical project layout,
@SpringBootApplicationmeta-annotation breakdown,@RestController, request routing, application properties, request lifecycle, and step-by-step 404/startup debugging.
Module 3: Spring Core — IoC & Dependency Injection
- 3.1 Inversion of Control & Dependency Injection: Tight vs loose coupling, interface abstraction, IoC container principles, Constructor vs Field vs Setter injection styles, SRP/OCP alignment, and unit testing mockability.
- 3.2 Spring Beans & Component Scanning:
ApplicationContextvsBeanFactory, Stereotype annotations (@Component,@Service,@Repository),@ComponentScanboundaries, explicit Java config (@Configuration&@Bean),BeanDefinitionmetadata, and resolving bean ambiguity with@Primaryand@Qualifier.
Module 4: Bean Lifecycle & Advanced Container Mechanics
- 4.1 Spring Bean Lifecycle & Hooks: Complete 10-stage container execution pipeline from scanning and instantiation to
BeanPostProcessorinterception, AOP proxy wrapping,@PostConstruct, and@PreDestroyresource cleanup. - 4.2 Bean Scopes, Lazy Initialization & Circular Dependencies: Core (
singleton,prototype) and web scopes (request,session), resolving the prototype-in-singleton injection problem viaObjectProvider,@Lazyproxies, circular dependency deadlock mechanics, and refactoring strategies.
Module 5: Legacy Configuration & Hybrid Interop
- 5.1 Legacy XML Configuration & Hybrid Interop: Legacy XML blueprints (
beans.xml),<bean>declarations,valuevsrefwiring, collection injection, XML autowiring modes, custom lifecycle hooks (init-method,destroy-method), and hybrid integration via@ImportResource.
Module 6: Spring Boot Annotations & Bootstrap
- 6.1 Startup Mechanics & SpringApplication.run(): Spring Core vs Spring Boot startup,
SpringApplication.run()execution stages,ApplicationContextcreation, DI vs Service Locator patterns, andCommandLineRunner. - 6.2 @SpringBootApplication & Component Scanning:
@SpringBootApplicationcomposite meta-annotation breakdown (@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan), annotation taxonomy matrix, and root package scanning rules.
Module 7: Auto-Configuration & Conditional Mechanics
- 7.1 Auto-Configuration & Classpath Signals:
@ComponentScanvs@EnableAutoConfiguration, automated workshop mental model, auto-configuration decision pipeline, starters as signals, and console vs web app auto-detection. - 7.2 Conditional Beans & Production Diagnostics:
@ConditionalOnClass,@ConditionalOnMissingBean, developer vs auto-configured bean precedence, full startup state machine, 5 production debugging questions, and anti-patterns.
Module 8: Externalized Configuration & Property Binding
- 8.1 Configuration Sources, Properties & YAML: Code vs Config boundary,
application.propertiesvsapplication.yml, packaged resources vs true externalized configuration, OS environment variables, and environment-specific settings. - 8.2 @Value vs @ConfigurationProperties & Relaxed Binding: Single property resolution via
@Value, default value syntax (${key:default}),@ConfigurationPropertiesgrouped binding, relaxed binding mechanics (kebab-case to camelCase), and trade-off matrices.
Module 9: Runner Interfaces & Startup Pipeline
- 9.1 CommandLineRunner vs ApplicationRunner: Non-web startup tasks vs HTTP controllers, manual bean lookup anti-patterns, raw
String... argsvs structuredApplicationArguments(--key=valueoption flags). - 9.2 End-to-End Configuration Pipeline & Pitfalls: Complete Spring Boot startup data flow (Mermaid sequence), configuration-to-bean execution pipeline, production pitfalls, end-to-end code example, and self-assessment challenges.
Module 10: Layered Architecture & JPA Persistence
- 10.1 Layered Architecture & Responsibilities: Restaurant kitchen analogy, Controller-Service-Repository separation, God Controller anti-pattern, package layout,
@SpringBootApplicationcomponent scanning, and MySQL Server vs Client vs Workbench tooling. - 10.2 JPA Entities, ORM & Database Auto-Configuration: Entity vs flow layer mental model,
@Entitymapping, ORM object-to-row transformation, dependency stack, and why adding database starters without properties causes startup crashes.
Module 11: REST CRUD Implementation & Production Patterns
- 11.1 REST Mapping & CRUD Operations: REST endpoint matrix,
@PathVariablevs@RequestBody, step-by-step Create/Read/Update implementations, 3-step update workflow, and 10-step request execution pipeline. - 11.2 Hard vs Soft Delete, Pitfalls & Refactoring: Hard delete vs soft delete (
isDeletedflag), entity state transition model, database operation complexity matrix, 5 production pitfalls, and God Controller refactoring.
Module 12: Spring Data JPA, ORM & Repository Engineering
- 12.1 ORM, Hibernate Mechanics & DataSource Configuration: Restaurant analogy table, Object-Relational Impedance Mismatch, JPA vs Hibernate, JDBC URL breakdown,
ddl-autosetting matrix, and Flyway/Liquibase schema migrations. - 12.2 Entity Design, Repository Proxies & Persistence Context:
@Entitymapping blueprint, JDK dynamic proxies for repository interfaces, Persistence Context dirty checking mechanics, B-Tree index lookup complexity $O(\log_B N)$, andfindAll()heap memory traps vsPageable.
Module 13: Advanced REST Controllers, DTOs & Production Architecture
- 13.1 REST Controllers, ResponseEntity & Jackson:
@RestControllerprotocol boundary,ResponseEntity<T>structure, standard CRUD HTTP status codes, Jackson serialization pipeline, cleanOptional<T>handling, and 11-step execution sequence. - 13.2 DTOs, State Machines, Anti-Patterns & Debugging: DTO records vs Entity over-posting risks, Mermaid entity state machine, TOCTOU race conditions, 5 production anti-patterns, and outside-in debugging checklists.
Module 14: Soft Delete Architecture & JPA Filtering
- 14.1 Logical Deletion Semantics & Entity Mapping: Hard delete (
DELETE) vs Soft delete (PATCH /soft-delete), archive cabinet analogy, physical existence vs application visibility,@Column(name = "is_deleted"), and state machine transitions. - 14.2 Derived Query Methods & The findById Trap: The
findAll()andfindById()data leakage traps, derived query syntax (findByIsDeletedFalse,findByIdAndIsDeletedFalse), and 3-step soft delete execution pipeline.
Module 15: Soft Delete Production Patterns & Indexing
- 15.1 Controller-Service Pipeline & PATCH Semantics: REST
@PatchMapping("/{id}/soft-delete")controller boundary,@Transactionalservice state mutations, complete reference code implementation, and end-to-end mental model. - 15.2 Indexing, Anti-Patterns & Refactoring: Database indexing caveats for low-cardinality boolean flags, composite index solutions, operational query complexity matrix, 7 production pitfalls, and API refactoring.
Module 16: Servlets Architecture & Container Lifecycle
- 16.1 Servlets Fundamentals & Restaurant Analogy: Java Servlets fundamentals, Restaurant Kitchen mental model, why raw
ServerSocketis insufficient, static vs dynamic sites, and Servlet container IoC. - 16.2 Servlet Lifecycle, Concurrency & Request Pipeline: Complete 4-phase lifecycle pipeline (
init,service,destroy), single-instance multithreaded concurrency hazards, andHttpServletRequest/HttpServletResponseabstractions.
Module 17: Servlet Deployment & Spring MVC Progression
- 17.1 WAR Packaging, Provided Scope & Embedded Tomcat: Web Application Archive (
.war) structure, Maven<scope>provided</scope>classloader isolation rule, external Tomcat administration, and Spring Boot embedded container model. - 17.2 DispatcherServlet, Spring MVC & Production Pitfalls: Traditional Servlet scaling bottlenecks,
DispatcherServletFront Controller pattern, 6-stage architectural progression, production pitfalls matrix, and debugging challenges.
Module 1: Foundations & Architecture
- 1.1 Client-Server & HTTP Protocol: Web communication primitives, IP addressing, ports, sockets, URL anatomy, HTTP methods (GET, POST, PUT, PATCH, DELETE), headers, status codes, and idempotency rules.
- 1.2 Servlets & Servlet Containers: Low-level
ServerSockethandling vs Servlet translation API (HttpServlet), Tomcat container mechanics, thread-per-request execution model, and concurrency safety. - 1.3 Spring Ecosystem & Boot Overview: Historical evolution from EJB 2.x to Spring, Framework vs Boot distinction, Spring ecosystem stack layers, opinionated defaults, embedded server execution model, and microservices alignment.
Module 2: Build Tooling & Application Setup
- 2.1 Maven Build Engineering: Apache Maven build pipeline,
pom.xmlarchitecture, GAV coordinates, SNAPSHOT vs Release semantics, transitive dependency resolution, local.m2caching, andspring-boot-maven-pluginFat JAR repackaging. - 2.2 Bootstrap & First Controller: Spring Initializr, canonical project layout,
@SpringBootApplicationmeta-annotation breakdown,@RestController, request routing, application properties, request lifecycle, and step-by-step 404/startup debugging.
Module 3: Spring Core — IoC & Dependency Injection
- 3.1 Inversion of Control & Dependency Injection: Tight vs loose coupling, interface abstraction, IoC container principles, Constructor vs Field vs Setter injection styles, SRP/OCP alignment, and unit testing mockability.
- 3.2 Spring Beans & Component Scanning:
ApplicationContextvsBeanFactory, Stereotype annotations (@Component,@Service,@Repository),@ComponentScanboundaries, explicit Java config (@Configuration&@Bean),BeanDefinitionmetadata, and resolving bean ambiguity with@Primaryand@Qualifier.
Module 4: Bean Lifecycle & Advanced Container Mechanics
- 4.1 Spring Bean Lifecycle & Hooks: Complete 10-stage container execution pipeline from scanning and instantiation to
BeanPostProcessorinterception, AOP proxy wrapping,@PostConstruct, and@PreDestroyresource cleanup. - 4.2 Bean Scopes, Lazy Initialization & Circular Dependencies: Core (
singleton,prototype) and web scopes (request,session), resolving the prototype-in-singleton injection problem viaObjectProvider,@Lazyproxies, circular dependency deadlock mechanics, and refactoring strategies.
Module 5: Legacy Configuration & Hybrid Interop
- 5.1 Legacy XML Configuration & Hybrid Interop: Legacy XML blueprints (
beans.xml),<bean>declarations,valuevsrefwiring, collection injection, XML autowiring modes, custom lifecycle hooks (init-method,destroy-method), and hybrid integration via@ImportResource.
Module 6: Spring Boot Annotations & Bootstrap
- 6.1 Startup Mechanics & SpringApplication.run(): Spring Core vs Spring Boot startup,
SpringApplication.run()execution stages,ApplicationContextcreation, DI vs Service Locator patterns, andCommandLineRunner. - 6.2 @SpringBootApplication & Component Scanning:
@SpringBootApplicationcomposite meta-annotation breakdown (@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan), annotation taxonomy matrix, and root package scanning rules.
Module 7: Auto-Configuration & Conditional Mechanics
- 7.1 Auto-Configuration & Classpath Signals:
@ComponentScanvs@EnableAutoConfiguration, automated workshop mental model, auto-configuration decision pipeline, starters as signals, and console vs web app auto-detection. - 7.2 Conditional Beans & Production Diagnostics:
@ConditionalOnClass,@ConditionalOnMissingBean, developer vs auto-configured bean precedence, full startup state machine, 5 production debugging questions, and anti-patterns.
Module 8: Externalized Configuration & Property Binding
- 8.1 Configuration Sources, Properties & YAML: Code vs Config boundary,
application.propertiesvsapplication.yml, packaged resources vs true externalized configuration, OS environment variables, and environment-specific settings. - 8.2 @Value vs @ConfigurationProperties & Relaxed Binding: Single property resolution via
@Value, default value syntax (${key:default}),@ConfigurationPropertiesgrouped binding, relaxed binding mechanics (kebab-case to camelCase), and trade-off matrices.
Module 9: Runner Interfaces & Startup Pipeline
- 9.1 CommandLineRunner vs ApplicationRunner: Non-web startup tasks vs HTTP controllers, manual bean lookup anti-patterns, raw
String... argsvs structuredApplicationArguments(--key=valueoption flags). - 9.2 End-to-End Configuration Pipeline & Pitfalls: Complete Spring Boot startup data flow (Mermaid sequence), configuration-to-bean execution pipeline, production pitfalls, end-to-end code example, and self-assessment challenges.
Module 10: Layered Architecture & JPA Persistence
- 10.1 Layered Architecture & Responsibilities: Restaurant kitchen analogy, Controller-Service-Repository separation, God Controller anti-pattern, package layout,
@SpringBootApplicationcomponent scanning, and MySQL Server vs Client vs Workbench tooling. - 10.2 JPA Entities, ORM & Database Auto-Configuration: Entity vs flow layer mental model,
@Entitymapping, ORM object-to-row transformation, dependency stack, and why adding database starters without properties causes startup crashes.
Module 11: REST CRUD Implementation & Production Patterns
- 11.1 REST Mapping & CRUD Operations: REST endpoint matrix,
@PathVariablevs@RequestBody, step-by-step Create/Read/Update implementations, 3-step update workflow, and 10-step request execution pipeline. - 11.2 Hard vs Soft Delete, Pitfalls & Refactoring: Hard delete vs soft delete (
isDeletedflag), entity state transition model, database operation complexity matrix, 5 production pitfalls, and God Controller refactoring.
Module 12: Spring Data JPA, ORM & Repository Engineering
- 12.1 ORM, Hibernate Mechanics & DataSource Configuration: Restaurant analogy table, Object-Relational Impedance Mismatch, JPA vs Hibernate, JDBC URL breakdown,
ddl-autosetting matrix, and Flyway/Liquibase schema migrations. - 12.2 Entity Design, Repository Proxies & Persistence Context:
@Entitymapping blueprint, JDK dynamic proxies for repository interfaces, Persistence Context dirty checking mechanics, B-Tree index lookup complexity $O(\log_B N)$, andfindAll()heap memory traps vsPageable.
Module 13: Advanced REST Controllers, DTOs & Production Architecture
- 13.1 REST Controllers, ResponseEntity & Jackson:
@RestControllerprotocol boundary,ResponseEntity<T>structure, standard CRUD HTTP status codes, Jackson serialization pipeline, cleanOptional<T>handling, and 11-step execution sequence. - 13.2 DTOs, State Machines, Anti-Patterns & Debugging: DTO records vs Entity over-posting risks, Mermaid entity state machine, TOCTOU race conditions, 5 production anti-patterns, and outside-in debugging checklists.
Module 14: Soft Delete Architecture & JPA Filtering
- 14.1 Logical Deletion Semantics & Entity Mapping: Hard delete (
DELETE) vs Soft delete (PATCH /soft-delete), archive cabinet analogy, physical existence vs application visibility,@Column(name = "is_deleted"), and state machine transitions. - 14.2 Derived Query Methods & The findById Trap: The
findAll()andfindById()data leakage traps, derived query syntax (findByIsDeletedFalse,findByIdAndIsDeletedFalse), and 3-step soft delete execution pipeline.
Module 15: Soft Delete Production Patterns & Indexing
- 15.1 Controller-Service Pipeline & PATCH Semantics: REST
@PatchMapping("/{id}/soft-delete")controller boundary,@Transactionalservice state mutations, complete reference code implementation, and end-to-end mental model. - 15.2 Indexing, Anti-Patterns & Refactoring: Database indexing caveats for low-cardinality boolean flags, composite index solutions, operational query complexity matrix, 7 production pitfalls, and API refactoring.
Module 1: Foundations & Architecture
- 1.1 Client-Server & HTTP Protocol: Web communication primitives, IP addressing, ports, sockets, URL anatomy, HTTP methods (GET, POST, PUT, PATCH, DELETE), headers, status codes, and idempotency rules.
- 1.2 Servlets & Servlet Containers: Low-level
ServerSockethandling vs Servlet translation API (HttpServlet), Tomcat container mechanics, thread-per-request execution model, and concurrency safety. - 1.3 Spring Ecosystem & Boot Overview: Historical evolution from EJB 2.x to Spring, Framework vs Boot distinction, Spring ecosystem stack layers, opinionated defaults, embedded server execution model, and microservices alignment.
Module 2: Build Tooling & Application Setup
- 2.1 Maven Build Engineering: Apache Maven build pipeline,
pom.xmlarchitecture, GAV coordinates, SNAPSHOT vs Release semantics, transitive dependency resolution, local.m2caching, andspring-boot-maven-pluginFat JAR repackaging. - 2.2 Bootstrap & First Controller: Spring Initializr, canonical project layout,
@SpringBootApplicationmeta-annotation breakdown,@RestController, request routing, application properties, request lifecycle, and step-by-step 404/startup debugging.
Module 3: Spring Core — IoC & Dependency Injection
- 3.1 Inversion of Control & Dependency Injection: Tight vs loose coupling, interface abstraction, IoC container principles, Constructor vs Field vs Setter injection styles, SRP/OCP alignment, and unit testing mockability.
- 3.2 Spring Beans & Component Scanning:
ApplicationContextvsBeanFactory, Stereotype annotations (@Component,@Service,@Repository),@ComponentScanboundaries, explicit Java config (@Configuration&@Bean),BeanDefinitionmetadata, and resolving bean ambiguity with@Primaryand@Qualifier.
Module 4: Bean Lifecycle & Advanced Container Mechanics
- 4.1 Spring Bean Lifecycle & Hooks: Complete 10-stage container execution pipeline from scanning and instantiation to
BeanPostProcessorinterception, AOP proxy wrapping,@PostConstruct, and@PreDestroyresource cleanup. - 4.2 Bean Scopes, Lazy Initialization & Circular Dependencies: Core (
singleton,prototype) and web scopes (request,session), resolving the prototype-in-singleton injection problem viaObjectProvider,@Lazyproxies, circular dependency deadlock mechanics, and refactoring strategies.
Module 5: Legacy Configuration & Hybrid Interop
- 5.1 Legacy XML Configuration & Hybrid Interop: Legacy XML blueprints (
beans.xml),<bean>declarations,valuevsrefwiring, collection injection, XML autowiring modes, custom lifecycle hooks (init-method,destroy-method), and hybrid integration via@ImportResource.
Module 6: Spring Boot Annotations & Bootstrap
- 6.1 Startup Mechanics & SpringApplication.run(): Spring Core vs Spring Boot startup,
SpringApplication.run()execution stages,ApplicationContextcreation, DI vs Service Locator patterns, andCommandLineRunner. - 6.2 @SpringBootApplication & Component Scanning:
@SpringBootApplicationcomposite meta-annotation breakdown (@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan), annotation taxonomy matrix, and root package scanning rules.
Module 7: Auto-Configuration & Conditional Mechanics
- 7.1 Auto-Configuration & Classpath Signals:
@ComponentScanvs@EnableAutoConfiguration, automated workshop mental model, auto-configuration decision pipeline, starters as signals, and console vs web app auto-detection. - 7.2 Conditional Beans & Production Diagnostics:
@ConditionalOnClass,@ConditionalOnMissingBean, developer vs auto-configured bean precedence, full startup state machine, 5 production debugging questions, and anti-patterns.
Module 8: Externalized Configuration & Property Binding
- 8.1 Configuration Sources, Properties & YAML: Code vs Config boundary,
application.propertiesvsapplication.yml, packaged resources vs true externalized configuration, OS environment variables, and environment-specific settings. - 8.2 @Value vs @ConfigurationProperties & Relaxed Binding: Single property resolution via
@Value, default value syntax (${key:default}),@ConfigurationPropertiesgrouped binding, relaxed binding mechanics (kebab-case to camelCase), and trade-off matrices.
Module 9: Runner Interfaces & Startup Pipeline
- 9.1 CommandLineRunner vs ApplicationRunner: Non-web startup tasks vs HTTP controllers, manual bean lookup anti-patterns, raw
String... argsvs structuredApplicationArguments(--key=valueoption flags). - 9.2 End-to-End Configuration Pipeline & Pitfalls: Complete Spring Boot startup data flow (Mermaid sequence), configuration-to-bean execution pipeline, production pitfalls, end-to-end code example, and self-assessment challenges.
Module 10: Layered Architecture & JPA Persistence
- 10.1 Layered Architecture & Responsibilities: Restaurant kitchen analogy, Controller-Service-Repository separation, God Controller anti-pattern, package layout,
@SpringBootApplicationcomponent scanning, and MySQL Server vs Client vs Workbench tooling. - 10.2 JPA Entities, ORM & Database Auto-Configuration: Entity vs flow layer mental model,
@Entitymapping, ORM object-to-row transformation, dependency stack, and why adding database starters without properties causes startup crashes.
Module 11: REST CRUD Implementation & Production Patterns
- 11.1 REST Mapping & CRUD Operations: REST endpoint matrix,
@PathVariablevs@RequestBody, step-by-step Create/Read/Update implementations, 3-step update workflow, and 10-step request execution pipeline. - 11.2 Hard vs Soft Delete, Pitfalls & Refactoring: Hard delete vs soft delete (
isDeletedflag), entity state transition model, database operation complexity matrix, 5 production pitfalls, and God Controller refactoring.
Module 12: Spring Data JPA, ORM & Repository Engineering
- 12.1 ORM, Hibernate Mechanics & DataSource Configuration: Restaurant analogy table, Object-Relational Impedance Mismatch, JPA vs Hibernate, JDBC URL breakdown,
ddl-autosetting matrix, and Flyway/Liquibase schema migrations. - 12.2 Entity Design, Repository Proxies & Persistence Context:
@Entitymapping blueprint, JDK dynamic proxies for repository interfaces, Persistence Context dirty checking mechanics, B-Tree index lookup complexity $O(\log_B N)$, andfindAll()heap memory traps vsPageable.
Module 13: Advanced REST Controllers, DTOs & Production Architecture
- 13.1 REST Controllers, ResponseEntity & Jackson:
@RestControllerprotocol boundary,ResponseEntity<T>structure, standard CRUD HTTP status codes, Jackson serialization pipeline, cleanOptional<T>handling, and 11-step execution sequence. - 13.2 DTOs, State Machines, Anti-Patterns & Debugging: DTO records vs Entity over-posting risks, Mermaid entity state machine, TOCTOU race conditions, 5 production anti-patterns, and outside-in debugging checklists.
Module 1: Foundations & Architecture
- 1.1 Client-Server & HTTP Protocol: Web communication primitives, IP addressing, ports, sockets, URL anatomy, HTTP methods (GET, POST, PUT, PATCH, DELETE), headers, status codes, and idempotency rules.
- 1.2 Servlets & Servlet Containers: Low-level
ServerSockethandling vs Servlet translation API (HttpServlet), Tomcat container mechanics, thread-per-request execution model, and concurrency safety. - 1.3 Spring Ecosystem & Boot Overview: Historical evolution from EJB 2.x to Spring, Framework vs Boot distinction, Spring ecosystem stack layers, opinionated defaults, embedded server execution model, and microservices alignment.
Module 2: Build Tooling & Application Setup
- 2.1 Maven Build Engineering: Apache Maven build pipeline,
pom.xmlarchitecture, GAV coordinates, SNAPSHOT vs Release semantics, transitive dependency resolution, local.m2caching, andspring-boot-maven-pluginFat JAR repackaging. - 2.2 Bootstrap & First Controller: Spring Initializr, canonical project layout,
@SpringBootApplicationmeta-annotation breakdown,@RestController, request routing, application properties, request lifecycle, and step-by-step 404/startup debugging.
Module 3: Spring Core — IoC & Dependency Injection
- 3.1 Inversion of Control & Dependency Injection: Tight vs loose coupling, interface abstraction, IoC container principles, Constructor vs Field vs Setter injection styles, SRP/OCP alignment, and unit testing mockability.
- 3.2 Spring Beans & Component Scanning:
ApplicationContextvsBeanFactory, Stereotype annotations (@Component,@Service,@Repository),@ComponentScanboundaries, explicit Java config (@Configuration&@Bean),BeanDefinitionmetadata, and resolving bean ambiguity with@Primaryand@Qualifier.
Module 4: Bean Lifecycle & Advanced Container Mechanics
- 4.1 Spring Bean Lifecycle & Hooks: Complete 10-stage container execution pipeline from scanning and instantiation to
BeanPostProcessorinterception, AOP proxy wrapping,@PostConstruct, and@PreDestroyresource cleanup. - 4.2 Bean Scopes, Lazy Initialization & Circular Dependencies: Core (
singleton,prototype) and web scopes (request,session), resolving the prototype-in-singleton injection problem viaObjectProvider,@Lazyproxies, circular dependency deadlock mechanics, and refactoring strategies.
Module 5: Legacy Configuration & Hybrid Interop
- 5.1 Legacy XML Configuration & Hybrid Interop: Legacy XML blueprints (
beans.xml),<bean>declarations,valuevsrefwiring, collection injection, XML autowiring modes, custom lifecycle hooks (init-method,destroy-method), and hybrid integration via@ImportResource.
Module 6: Spring Boot Annotations & Bootstrap
- 6.1 Startup Mechanics & SpringApplication.run(): Spring Core vs Spring Boot startup,
SpringApplication.run()execution stages,ApplicationContextcreation, DI vs Service Locator patterns, andCommandLineRunner. - 6.2 @SpringBootApplication & Component Scanning:
@SpringBootApplicationcomposite meta-annotation breakdown (@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan), annotation taxonomy matrix, and root package scanning rules.
Module 7: Auto-Configuration & Conditional Mechanics
- 7.1 Auto-Configuration & Classpath Signals:
@ComponentScanvs@EnableAutoConfiguration, automated workshop mental model, auto-configuration decision pipeline, starters as signals, and console vs web app auto-detection. - 7.2 Conditional Beans & Production Diagnostics:
@ConditionalOnClass,@ConditionalOnMissingBean, developer vs auto-configured bean precedence, full startup state machine, 5 production debugging questions, and anti-patterns.
Module 8: Externalized Configuration & Property Binding
- 8.1 Configuration Sources, Properties & YAML: Code vs Config boundary,
application.propertiesvsapplication.yml, packaged resources vs true externalized configuration, OS environment variables, and environment-specific settings. - 8.2 @Value vs @ConfigurationProperties & Relaxed Binding: Single property resolution via
@Value, default value syntax (${key:default}),@ConfigurationPropertiesgrouped binding, relaxed binding mechanics (kebab-case to camelCase), and trade-off matrices.
Module 9: Runner Interfaces & Startup Pipeline
- 9.1 CommandLineRunner vs ApplicationRunner: Non-web startup tasks vs HTTP controllers, manual bean lookup anti-patterns, raw
String... argsvs structuredApplicationArguments(--key=valueoption flags). - 9.2 End-to-End Configuration Pipeline & Pitfalls: Complete Spring Boot startup data flow (Mermaid sequence), configuration-to-bean execution pipeline, production pitfalls, end-to-end code example, and self-assessment challenges.
Module 10: Layered Architecture & JPA Persistence
- 10.1 Layered Architecture & Responsibilities: Restaurant kitchen analogy, Controller-Service-Repository separation, God Controller anti-pattern, package layout,
@SpringBootApplicationcomponent scanning, and MySQL Server vs Client vs Workbench tooling. - 10.2 JPA Entities, ORM & Database Auto-Configuration: Entity vs flow layer mental model,
@Entitymapping, ORM object-to-row transformation, dependency stack, and why adding database starters without properties causes startup crashes.
Module 11: REST CRUD Implementation & Production Patterns
- 11.1 REST Mapping & CRUD Operations: REST endpoint matrix,
@PathVariablevs@RequestBody, step-by-step Create/Read/Update implementations, 3-step update workflow, and 10-step request execution pipeline. - 11.2 Hard vs Soft Delete, Pitfalls & Refactoring: Hard delete vs soft delete (
isDeletedflag), entity state transition model, database operation complexity matrix, 5 production pitfalls, and God Controller refactoring.
⚡ Quick Reference & Comparison Matrices
1. Spring Framework vs. Spring Boot Comparison
| Dimension | Traditional Spring Framework | Spring Boot |
|---|---|---|
| Primary Role | Core application framework & dependency injection engine | Automation & bootstrapping layer built on Spring |
| Configuration | Manual (XML configuration files or verbose @Configuration classes) | Automatic (Opinionated auto-configuration based on classpath starters) |
| Server Deployment | Requires external Servlet Container (WAR deployment to Tomcat/GlassFish) | Embedded web server (Tomcat/Jetty/Undertow inside executable JAR) |
| Dependency Setup | Manual declaration of individual library versions and transitive JARs | Starter dependencies (spring-boot-starter-web, spring-boot-starter-data-jpa) |
| Production Readiness | Manual metric collection and health monitoring setup | Built-in production metrics and health monitoring via Spring Boot Actuator |
2. Spring Ecosystem Stack Layers
| Layer / Technology | Primary Responsibility | Key Abstractions & Annotations |
|---|---|---|
| Spring Core | Inversion of Control (IoC), Dependency Injection (DI), Bean Lifecycle | @Component, @Service, @Repository, @Bean, @Autowired |
| Spring MVC | Web request routing, HTTP protocol interpretation, REST APIs | @RestController, @RequestMapping, @GetMapping, @PostMapping |
| Spring Data JPA | Database abstraction, ORM integration, boilerplate query generation | JpaRepository, @Entity, @Transactional, @Query |
| Spring Security | Authentication, authorization, stateless JWT protection | SecurityFilterChain, AuthenticationManager, @EnableWebSecurity |
| Spring Boot Actuator | Operational monitoring, health checks, runtime metrics | /actuator/health, /actuator/metrics, /actuator/prometheus |
❓ Self-Assessment Knowledge Check
What is the primary role of Spring Boot in relation to the Spring Framework?
Which component actually listens for incoming HTTP network connections on port 8080 when a Spring Boot Web application is running?
🚀 Get Started
Begin your journey with Module 1.1: Client-Server & HTTP Protocol to master client-server communication, networking primitives, HTTP protocols, and request execution mechanics!