Spring applications assemble objects, request handlers, persistence, and security policy through a managed runtime. The useful question is where a request crosses a boundary and which component owns the decision.
Choose a starting point
Start with the container and configuration model. Follow a request through validation and service logic before adding persistence, transactions, authentication, and operations. Keep framework defaults visible in tests.
- Spring & Spring Boot Tutorial
- Spring Boot application bootstrap: package boundaries and startup failures
- Spring Boot auto-configuration: register imports and let a user bean win
- Spring Boot property override: fail startup on the effective value
- Spring Boot command-line properties: test the effective value at startup
- Spring Boot external config file: bind the value the process actually loads
- Spring Boot profile files: bind only the selected environment override
- Spring Boot environment variables: bind the intended key, not a lookalike
- Spring Boot environment binding: prove the value in a child JVM
Common Mistakes
A successful controller test does not prove a transaction rolled back, an authorization rule held, or a production profile loaded the intended setting. Check the complete path with the related lessons.
