Core learning path

Learn Spring in the order the runtime depends on it.

General Java, HTTP, SQL, and tooling stay outside the numbered path. The course begins with why Spring exists, follows configuration from XML to modern Java, and then builds one production application on top of that container model.

10 core stages84 lessons44 study hoursBoot 3.5.16Java 21

Saved assessment progress

0 of 20 module quizzes attempted on this device.

0 mastered at 80%+0% best-score average

The core sequence

Ten deliberate stages

Complete a stage when you can explain its mechanism, diagnose its common failure, and prove its outcome in the evolving application.

  1. 01

    What Spring Boot Adds

    Separate Spring Framework from Boot, then trace starters, SpringApplication, component scanning, conditional auto-configuration, and back-off behavior.

    Start
    5 lessons 115 min

    Outcome

    Trace application startup and explain which behavior belongs to Java, Spring Framework, or Spring Boot.

    Framework vs BootStarters@SpringBootApplicationAuto-configuration
  2. 02

    Why Spring Exists

    Begin with ordinary Java object construction, then see why IoC, dependency injection, XML bean definitions, Java configuration, and component scanning exist.

    Start
    14 lessons 345 min

    Outcome

    Explain what makes an object a Spring bean and compare manual wiring, XML, @Bean methods, and component scanning.

    IoC vs DIXML bean metadataApplicationContext@Bean vs @Component
  3. 03

    Configuration Before Features

    Externalize settings, bind validated properties, select profiles, and keep secrets outside the artifact before infrastructure depends on them.

    Start
    4 lessons 75 min

    Outcome

    Explain property precedence and fail startup when required configuration is absent or invalid.

    Property precedenceProfilesSecret handling
  4. 04

    Build a Maintainable API

    Place controllers, application services, repositories, DTOs, validation, and error translation at explicit boundaries.

    Start
    14 lessons 380 min

    Outcome

    Design a feature package with stable request, response, validation, and error contracts.

    DispatcherServletDTO mappingValidation boundariesProblemDetail
  5. 05

    Persistence and Transactions

    Connect database behavior to JPA, Hibernate, Spring Data repositories, the persistence context, fetching, transactions, locking, and query performance.

    Start
    19 lessons 495 min

    Outcome

    Predict the SQL and transaction boundary behind repository and entity operations instead of treating JPA as magic.

    Package by featurePersistence contextTransactionsN+1Locking
  6. 06

    Logging and Observability

    Write structured, correlated logs and expose safe health, metrics, and tracing signals before tuning or distributing the system.

    Start
    5 lessons 175 min

    Outcome

    Diagnose one request across logs, metrics, traces, and health endpoints without exposing sensitive operational data.

    Structured loggingCorrelation identifiersActuator health groupsMetrics and traces
  7. 07

    Testing Spring Applications

    Choose the smallest useful test boundary: plain unit tests, collaboration tests, MVC/JPA slices, full application tests, or real infrastructure.

    Start
    4 lessons 165 min

    Outcome

    Build a fast test portfolio that proves domain, web, persistence, configuration, and infrastructure behavior.

    JUnit and MockitoTest slices@SpringBootTestTestcontainers
  8. 08

    Spring Security

    Trace authentication and authorization through the SecurityFilterChain before comparing sessions, JWT, CSRF, CORS, and OAuth 2.0/OIDC.

    Start
    5 lessons 245 min

    Outcome

    Explain and test the complete security path for missing, invalid, forbidden, and permitted requests.

    SecurityFilterChainAuthentication vs authorizationJWT vs sessionsCSRF and CORS
  9. 09

    Production Behavior

    Call external services safely and add caching only after defining timeouts, retries, idempotency, consistency, and failure evidence.

    Start
    7 lessons 280 min

    Outcome

    Design bounded failure behavior for remote calls and cached data.

    RestClientTimeouts and retriesCircuit breakersCache consistency
  10. 10

    Architecture and Production Capstone

    Package, observe, test, and deploy one modular application before considering distributed-system complexity.

    Start
    7 lessons 340 min

    Outcome

    Defend application boundaries and demonstrate readiness, graceful shutdown, rollback, and production evidence.

    Modular architectureProxy-backed annotationsReadiness probesGraceful shutdown

Optional after the core

Specialization tracks

Messaging, file handling, reactive performance, and microservices remain available, but they no longer interrupt the core interview and application path.