The Spring container assembles typed dependencies and controls managed object lifetimes.
Learning roadmap
Read the contract, run the source-kit checks, and inspect a rejected input before extending the application. This subject covers Spring and Spring Boot together; Java language lessons remain in their own subject.
Prerequisites
Use Java object ownership, interfaces, exceptions and Maven builds before the framework-specific lessons.
Section lessons
- Spring ApplicationContext: construct and close an object graph
- Spring constructor injection: required dependencies stay visible
- Spring qualifiers: select a collaborator when types are ambiguous
- Spring bean scopes: singleton identity is not thread safety
- Spring ObjectProvider: deferred resolution without hiding ownership
- Spring lifecycle cleanup: close container-owned resources
- Spring application events: local delivery is not a durable queue
- Spring AOP proxies: self-invocation bypasses proxy advice
- Spring transaction events: run a listener after commit without claiming durability
- Spring request scope proxy: resolve state for the current HTTP request
- Spring session scope: one target across requests, separate targets across sessions
- Spring @Async futures: make worker failure observable to the caller
- Spring async work versus durable delivery: separate latency from recovery
- Spring task executors: reject work when every slot is occupied
- Spring async work has two failure points: submission and completion
- Spring TaskScheduler: poll committed outbox rows in the background
- Spring TaskScheduler shutdown: stop new polls and account for in-flight work
Continue learning
Boot Foundations, Web APIs, Data & Transactions, Security, Testing, Production, Exercises, Quizzes, Projects.
