Также я нахожу другое решение, которое работает для меня. В нашем устаревшем весеннем проекте мы используем этот метод, чтобы дать нашим пользователям возможность использовать эти собственные конфигурации:
<bean id="appUserProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="ignoreResourceNotFound" value="false"/>
<property name="locations">
<list>
<value>file:./conf/user.properties</value>
</list>
</property>
</bean>
И в нашем коде для доступа к этим свойствам нужно написать что-то вроде этого:
@Value("#{appUserProperties.userProperty}")
private String userProperty
И если возникает ситуация, когда вам нужно добавить новое свойство, но прямо сейчас вы не хотите добавлять его в производственную пользовательскую конфигурацию, это очень быстро превращается в ад, когда вам нужно исправить все ваши тестовые контексты, или ваше приложение выйдет из строя. запускать.
Чтобы решить эту проблему, вы можете использовать следующий синтаксис, чтобы добавить значение по умолчанию:
@Value("#{appUserProperties.get('userProperty')?:'default value'}")
private String userProperty
Для меня это было настоящим открытием.
18GerPD8fY4iTbNpC9hHNXNHyrDMampPLA
такое? Я уверен, что все знают, и я просто глуп, но на всякий случай ...