Znajduję również inne rozwiązanie, które działa dla mnie. W naszym starszym projekcie wiosennym używamy tej metody, aby dać naszym użytkownikom możliwość korzystania z tych własnych konfiguracji:
<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>
A w naszym kodzie, aby uzyskać dostęp do tych właściwości, należy napisać coś takiego:
@Value("#{appUserProperties.userProperty}")
private String userProperty
A jeśli pojawi się sytuacja, kiedy musisz dodać nową właściwość, ale w tej chwili nie chcesz jej dodawać w konfiguracji użytkownika produkcyjnego, bardzo szybko staje się piekłem, gdy musisz załatać wszystkie konteksty testowe lub aplikacja zakończy się niepowodzeniem uruchomienie.
Aby poradzić sobie z tym problemem, możesz użyć następnej składni, aby dodać wartość domyślną:
@Value("#{appUserProperties.get('userProperty')?:'default value'}")
private String userProperty
To było dla mnie prawdziwe odkrycie.
18GerPD8fY4iTbNpC9hHNXNHyrDMampPLA
jest? Jestem pewien, że wszyscy inni wiedzą i jestem po prostu głupi, ale na wszelki wypadek ...