Ich finde auch eine andere Lösung, die für mich funktioniert. In unserem Legacy-Frühjahrsprojekt verwenden wir diese Methode, um unseren Benutzern die Möglichkeit zu geben, diese eigenen Konfigurationen zu verwenden:
<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>
Und in unseren Code, um auf diese Eigenschaften zuzugreifen, müssen Sie Folgendes schreiben:
@Value("#{appUserProperties.userProperty}")
private String userProperty
Und wenn eine Situation auftritt, in der Sie eine neue Eigenschaft hinzufügen müssen, diese aber derzeit nicht in der Produktionsbenutzerkonfiguration hinzufügen möchten, wird es sehr schnell zur Hölle, wenn Sie alle Ihre Testkontexte patchen müssen oder Ihre Anwendung fehlschlägt Anfang.
Um dieses Problem zu beheben, können Sie mit der nächsten Syntax einen Standardwert hinzufügen:
@Value("#{appUserProperties.get('userProperty')?:'default value'}")
private String userProperty
Es war eine echte Entdeckung für mich.
18GerPD8fY4iTbNpC9hHNXNHyrDMampPLA
ist? Ich bin sicher, dass alle anderen es wissen und ich bin nur dumm, aber nur für den Fall ...