Assurez-vous de printemps remplacer des espaces réservés dans différents types de fichiers (autres que les configs de printemps)
-
29-09-2019 - |
Question
Y at-il un moyen de faire des espaces réservés parse de ressort (v.3.0) dans des fichiers qui ne sont pas .properties
?
Je sais que je peux écrire mon propre PropertyPlaceholderConfigurer
mais je cherchais un moyen de « propre » pour le faire.
EDIT:
Pour être plus précis, ce que je veux vraiment faire est de remplacer les espaces réservés présents dans les fichiers .sql
. Ainsi, les valeurs des espaces réservés sont stockés dans .properties
mais les espaces réservés sont utilisés dans les fichiers .sql
.
La solution
Un grain de PropertyPlaceholderConfigurer
remplacera des espaces réservés dans d'autres définitions de haricots. Plus précisément, il met à jour les valeurs des propriétés de haricots dans les définitions de haricots ... avant que les haricots sont effectivement créés. Par conséquent, si vous vouliez utiliser PropertyPlaceholderConfigurer
pour modifier SQL, que SQL devrait être intégré dans la valeur des propriétés de haricots. Cette classe ne peut pas remplacer les propriétés dans des fichiers arbitraires.
Si vous voulez remplacer des espaces réservés dans des fichiers arbitraires,
Autres conseils
PropertyPlaceholderConfigurer
peut être fourni avec un objet Properties
arbitraire (via la propriété de properties
).
Je ne sais pas si vous utilisez Maven, mais si vous le faites, j'utiliser filtrage des ressources pour injecter les propriétés dans les fichiers sQL au moment deploy (il existe des solutions similaires pour les fourmis, aussi) et laissez l'utilisation de PropertyPlaceholderConfigurer
de printemps, les mêmes fichiers de propriété au moment de l'exécution. Que tout chemin est là où il appartient (après tout, le meilleur endroit pour des propriétés est un fichier .properties).