Je suis en train d'utiliser une variable d'environnement dans un fichier de propriétés de printemps, mais il ne semble pas fonctionnervariable d'environnement dans le fichier de propriété Spring
où l'application est en cours d'exécution
export TEST_VAR=hello
myapp.properties
test.variable=${TEST_VAR}
enter code here
mais quand je test, le test.variable ne se traduit pas bonjour mais reste $ {} TEST_VAR.
Comment puis-je obtenir la variable Env à partir de ce fichier?
je charge le fichier de propriétés ainsi
<bean id="props" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="singleton" value="true" />
<property name="ignoreResourceNotFound" value="false" />
<property name="locations">
<list>
<value>classpath:myapp.properties</value>
<value>file://#{systemProperties['myApp.configurationFile']}</value>
</list>
</property>
</bean>
<bean class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer">
<property name="properties" ref="props" />
</bean>
<bean id="properties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="properties" ref="props" />
</bean>
myApp.configurationFile est une variable système je passe quand tomcat démarre par -DmyApp.configurationFile = ...
Dans la pratique, je ne vois aucun problème apparent. Vous devez fournir un MCVE: un exemple minimal, complet et vérifiable. Voir https://stackoverflow.com/help/mcve – davidxxx
C'est littéralement la seule chose que je fais moins la façon dont j'indique au printemps comment, ou le fichier de propriété. Je l'ai ajouté à la poste. – Paulus2