Spring Framework manages application objects and infrastructure; Spring Boot supplies conditional assembly and application startup around that framework.
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 Boot application bootstrap: package boundaries and startup failures
- Spring Boot auto-configuration: conditions and user-defined beans
- Spring Boot configuration properties: bind values and reject bad startup input
- Spring Boot profiles and property precedence: test the selected environment
- 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 Duration binding: make timeout units explicit
- Spring Boot configuration validation: reject an unusable relay before work starts
- Spring Boot configuration sources: test each deployment path, not a guessed order
- Spring Boot external config file: bind the value the process actually loads
- Spring Boot file versus command line: assert the bound result
- Spring Boot config validation: separate valid syntax from a safe relay setting
- Spring Boot and Flyway: choose who runs migrations before traffic starts
- Spring Boot profile files: bind only the selected environment override
- Spring Boot config import: fail startup when a required file is missing
- Spring Boot optional config import: know which default survives
- Spring Boot config source priority: a builder default may lose to a packaged file
- Spring Boot environment variables: bind the intended key, not a lookalike
- Spring Boot relative config imports: resolve from the declaring file
- Spring Boot environment binding: prove the value in a child JVM
- Spring Boot config precedence: command line beats a process variable
- Spring Boot environment validation: fail before a worker starts
- Spring Boot relative config import: change the working directory and inspect the value
- Spring Boot required import: fail when a relative file is missing
- Spring Boot nested config imports: each file becomes the next base directory
- Spring Boot nested import failure: a missing second hop must stop startup
- Spring Boot configtree: bind one file per property in a child JVM
- Spring Boot configtree versus environment: assert the effective value
- Spring Boot required configtree: reject an absent directory
- Spring Boot configtree validation: reject a present but unsafe value
- Spring Boot extensionless config file: give the loader a properties hint
Continue learning
Spring Core, Web APIs, Data & Transactions, Security, Testing, Production, Exercises, Quizzes, Projects.
