J'essaie de définir la valeur d'une chaîne dans un haricot de printemps à l'aide de @Value code>, lorsque ma source de propriétés est une sous-classe de PropertyPlaceholderconfigurier code>. Quelqu'un sache comment faire cela? P>
3 Réponses :
Avez-vous réussi à le faire fonctionner en injectant explicitement la valeur du fichier de définition de haricot à l'aide de la syntaxe de la propriété? En théorie, si cela fonctionne, vous devriez pouvoir utiliser la même expression dans @Value code>. Pour cette affaire, vous devriez être capable de le faire en utilisant @Autowired @qualifier code> aussi p>
Je ne pense pas qu'il soit possible d'accéder aux propriétés chargées par Il peut indiquer le même fichier de propriétés que votre PropertyPlaceholderconfigurier code> à l'aide de spel dans un @Value code> Annotation. Ce serait génial, mais aussi loin que je sache, la prochaine meilleure chose à faire est de déclarer: PropertyPlaceholderconfigurier code>. p> p>
Vous pouvez également créer votre propre propriétéLetholderConfigurier qui expose ses propriétés. Vous pouvez en trouver un exemple ici: MORTARPROJEJECT.SVN.SOURCEFORGE.net/viewvc/MortarProject/src/.../a> Vous devrez l'enregistrer à l'aide de la Ancien
Je ne pense pas que vous devez mettre le nom de fichier xxx.properties, Spring charge tous les fichiers de propriétés, il suffit de vous assurer que votre clé est unique parmi tous le fichier de propriétés.
Ceci est une erreur. À partir du printemps 3, vous pouvez accéder à des valeurs de propriétéLetHolderConfigurier à l'aide de Spel.
Vieille question, mais il est toujours intéressant d'être répondu. Vous pouvez utiliser l'expression de la même manière que vous le feriez avec l'original app.properties p> app-context.xml < / p> dans le haricot cible p> testé cette approche à l'aide du ressort 3.0.6 p> p> p> PropertyProitHolderConfigurier code>.
L'extra # {...} est en quelque sorte inutile (il fait une évaluation spel d'une chaîne statique). Depuis le printemps 3.x, la syntaxe $ {app.value} est prise en charge dans @Value Annotations et peut être utilisée pour injecter la propriété (mais ce n'était probablement pas au moment de cette question).
Vous êtes correct concernant le # {...} supplémentaire. Vous pouvez l'omettre et vous obtiendrez le même résultat. Je corrigerai ma réponse pour s'en débarrasser.