...
That said you may want to override properties in certain environments - for instance you may want to use a different message bundle in Prod w/o recompiling or restarting the application so there :
- There needs to be a hierarchical and consistent way to override properties
...
- .
- Properties need to be configurable at runtime.
These are some of the basic premises used to arrive at the current practice of how properties are implemented.