21 votes

Comment lire les arguments JVM dans le fichier applicationContext.xml de Spring

J'ai une application web JSF avec Spring et j'essaie de trouver un moyen de faire référence aux arguments JVM à partir du applicationContext.xml. Je démarre le JVM avec un argument d'environnement (-Denv=développement, par exemple). J'ai trouvé et essayé quelques approches différentes, notamment:

    ${environment}

Mais, lorsque la méthode setter est invoquée dans MyClass, la chaîne "${environment}" est passée, au lieu de "développement". J'ai une solution de contournement en place pour utiliser System.getProperty(), mais il serait plus agréable et plus propre de pouvoir définir ces valeurs via Spring. Est-ce possible de le faire?

Éditer: Ce que j'aurais dû mentionner auparavant, c'est que je charge des propriétés de ma base de données en utilisant une connexion JDBC. Cela semble ajouter de la complexité, car lorsque j'ajoute un espace réservé pour les propriétés à ma configuration, les propriétés chargées à partir de la base de données sont écrasées par l'espace réservé pour les propriétés. Je ne suis pas sûr si c'est dépendant de l'ordre ou quelque chose comme ça. C'est comme si je pouvais faire l'un ou l'autre, mais pas les deux.

Éditer: Je charge actuellement les propriétés en utilisant la configuration suivante:

0voto

disciolli Points 1

Printemps 3.0.7

Et définir à l'exécution : -Denv=config-dev.properties

Si non défini, "env" utilisera par défaut "config-prd.properties".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X