Concept
application.yml holds configuration: ports, database URLs, feature flags. @ConfigurationProperties binds a section to a typed, validated class so the rest of the code never reads raw strings.
The tutor works through these with you, in conversation and code. A session ends when you have shown them, not when a video does.
A few lines that show Application properties doing its job.
@ConfigurationProperties(prefix = "billing")
@Validated
public record BillingProperties(@NotBlank String currency, @Min(1) int trialDays) {}
// application.yml
// billing:
// currency: USD
// trial-days: 7
@Service
class TrialService {
TrialService(BillingProperties billing) { /* billing.trialDays() */ }
}Scattering @Value("${some.key}") across services. Typos are found at runtime one at a time, and there is no single place that says what the application can be configured with.
Your roadmap puts these before Application properties, unless you already know them.
Once a session shows you understand Application properties, it comes back for review. Each review takes a minute and tells the memory model how well you still know it.
Topics that build on Application properties.