This is just the complexity in individual files!<p>Configuration can be a lot more complicated. Look at dockerfiles, which are filesystems overlaid over each other, often sourced from the internet.<p><a href="https://docs.spring.io/spring-boot/reference/features/external-config.html" rel="nofollow">https://docs.spring.io/spring-boot/reference/features/extern...</a><p>Look at that: a massive 15 deep precedence order for pulling just individual values (oh man, doesn't even touch things like maps/lists that get merged/overridden).<p>That includes sources like the OS, environment-specific, a database (the JNDI registry), XML, JSON, .properties files, hardcodes. Honestly, I remember this being even deeper, I suspect they have simplified this.<p>This doesn't even get into secrets/secured configuration, which may require a web service invocation. I used to also pull config via ssh, or from private gits or github, from aws web service calls (THAT required another layer of config getting a TOTP cycled cred).<p><a href="https://crushedby1sand0s.blogspot.com/2021/02/stages-of-despair-in-configuration.html" rel="nofollow">https://crushedby1sand0s.blogspot.com/2021/02/stages-of-desp...</a><p>I was right, the Spring config fallthru was deeper.