Start here. This is the direct spoken answer to practice first.
Overview
Configuration errors should fail before traffic reaches the dependent feature, with enough context to correct them safely.
I bind related settings to a @ConfigurationProperties class and validate them with Jakarta Validation constraints or explicit validation logic. Required endpoints, positive timeouts, ranges, and mutually dependent values should fail context creation with a clear property path. Typed values such as Duration catch units and conversion problems early. I provide safe defaults only when they are genuinely valid in every deployment.