Також я знаходжу інше рішення, яке мені підходить. У нашому старому весняному проекті ми використовуємо цей метод, щоб надати нашим користувачам можливості використовувати такі власні конфігурації:
<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
таке? Я впевнений, що всі інші знають, і я просто дурний, але про всяк випадок ...