Aussi je trouve une autre solution qui fonctionne pour moi. Dans notre projet de printemps hérité, nous utilisons cette méthode pour donner à nos utilisateurs la possibilité d'utiliser ces propres configurations:
<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>
Et dans notre code pour accéder à ces propriétés, il faut écrire quelque chose comme ça:
@Value("#{appUserProperties.userProperty}")
private String userProperty
Et si une situation se présente lorsque vous devez ajouter une nouvelle propriété mais que pour l'instant vous ne voulez pas l'ajouter dans la configuration utilisateur de production, cela devient très vite un enfer lorsque vous devez patcher tous vos contextes de test ou votre application échouera Commencez.
Pour gérer ce problème, vous pouvez utiliser la syntaxe suivante pour ajouter une valeur par défaut:
@Value("#{appUserProperties.get('userProperty')?:'default value'}")
private String userProperty
C'était une vraie découverte pour moi.
18GerPD8fY4iTbNpC9hHNXNHyrDMampPLA
? Je suis sûr que tout le monde le sait et je suis juste stupide, mais juste au cas où ...