В вашем файле XML вы загружаете файл свойств в объект Properties
, который затем передается в дополнительно настроенный PropertySourcePlaceholderConfigurer
. Вот что делает все это пространство имен волхвы c.
PropertySourcePlaceholderConfigurer
будет использовать свойства для разрешения выражений значений в @Value
или xml. Это НЕ добавит загруженные свойства к Environment
. Environment
- это то, что используется ConfigurationPropertiesBindingPostProcessor
в Spring Boot. Это также происходит очень рано в процессе.
Вместо этого вам следует либо поместить @PropertySource
в свой класс аннотаций @SpringBootApplication
:
@PropertySource(value="file:${dir.data}/foo.properties", ignoreResourceNotFound=true)
, либо указать, какие дополнительные файлы конфигурации следует загрузить, используя свойство spring.config.additional-location
.
--spring.config.additional-location=file:${dir.data}/foo.properties
С последним вам не нужно ничего менять, просто укажите, какие файлы загружать при запуске.