Comment puis-je injecter une propriété unique valeur dans une chaîne à l'aide de spring 2.5.x?
Je tiens vraiment à annoter une méthode avec une référence à une propriété unique dans un fichier de propriétés pour l'injection.
@Resource("${my.service.url}")
private String myServiceUrl;
Bien sûr, cette syntaxe ne fonctionne pas 😉 c'est pourquoi je pose la question ici.
Je suis conscient que je peux injecter la totalité du fichier de propriétés, mais qui semble tout à fait excessif, je ne veux pas le fichier de propriétés - je veux la valeur configurée.
Edit: je ne vois PropertyPlaceholderConfigurer exemples où le XML est utilisé pour le fil de fer à la propriété pour le terrain. Je n'arrive toujours pas à comprendre comment cela peut être réalisé avec une annotation ?
Vous devez vous connecter pour publier un commentaire.
Il y a un fil à ce sujet sur le Forum du printemps. La réponse courte est qu'il n'y a vraiment aucun moyen pour injecter une propriété unique à l'aide d'annotations.
J'ai entendu dire que le soutien pour l'utilisation d'annotations seront améliorées au Printemps 3.0, de sorte qu'il est probable que ce sera réglé prochainement.
Je sais qu'il a été un certain temps depuis le premier post, mais j'ai réussi à tomber sur une solution pour le printemps 2.5.x
Vous pouvez créer des instances de la "Chaîne" des haricots dans le ressort de configuration xml qui peut ensuite être injecté dans le Annoté composants
J'ai créé un projet qui traite de ce problème pour le Printemps 2.5.*:
http://code.google.com/p/spring-property-annotations/
Pour le Printemps les 3, vous pouvez utiliser le @Valeur("${propery.clé}") annotation.
vous pouvez le faire si vous utilisez de configuration XML. Il suffit de configurer PropertyPlaceholderConfigurer et spécifier la valeur de la propriété de configuration
Vous pourriez essayer d'injecter de la valeur de la propriété "mon.service.url" pour un dépôt dans votre bean.
Prendre un coup d'oeil à: http://static.springframework.org/spring/docs/2.5.x/reference/beans.html#beans-factory-placeholderconfigurer
HTH.