Printemps autowire une liste
Est-il possible d'utiliser @Autowired
avec une liste?
Comme j'ai le fichier de propriétés avec des types mime et dans mon fichier de classe j'ai quelque chose comme ce
@Autowired
private List<String> mimeTypes = new ArrayList<String>();
- Il a été un moment - si l'une des réponses a été utile, merci de le marquer comme correcte, de sorte que les autres avec la même question peut facilement trouver les réponses utiles.
- double possible de Auto-câblage d'une Liste à l'aide util schéma donne NoSuchBeanDefinitionException
InformationsquelleAutor karq | 2011-06-07
Vous devez vous connecter pour publier un commentaire.
Printemps 4 prend en charge la capacité de collecter automatiquement tous les haricots d'un type donné et de les injecter dans une collection ou un tableau.
Exemple:
Ref: Printemps 4 Commande Autocâblés Collections
@Qualifier("..")
est découragé, au lieu d'essayer de autowire-par-nom à l'aide deVoir aussi Comment autowire l'interface factorybean.
Vous pouvez même créer un
java.util.List
au sein de votre ressort .xml et de les injecter via@Qualifier
dans votre application. À partir de la springsource http://static.springsource.org/spring/docs/current/reference/xsd-config.html :Donc, ce serait de changer votre câblage:
Je suggère cette approche, puisque vous êtes l'injection d'une liste de chaînes de caractères, de toute façon.
cheers!
MODIFIER
Si vous voulez injecter propriétés, jetez un oeil à cette Comment peut-on injecter la valeur d'une propriété dans un Printemps de Haricot qui a été configuré à l'aide d'annotations?
Je pense que vous aurez besoin d'un qualificatif au minimum. Et l'appel à la "nouvelle" semble contraire à l'idée d'utiliser le Printemps. Vous avez du Printemps rôle confus. Si vous appelez de la "nouvelle", alors l'objet n'est pas en vertu du Printemps de contrôle.
new
et toujours avoir un bean spring géré btw static.springsource.org/spring/docs/current/reference/...Si le autocâblés bean est déclaré dans le même (
@Configuration
) de classe et vous avez besoin de déclarer une autre de haricots, puis les ouvrages suivants:Naturellement, il se comporte correctement, même si vous remplacez la
mimeTypes
bean dans une autre config. Pas besoin explicite@Qualifier
ou@Resource
annotations.Vous devriez être en mesure de autowire aussi longtemps que la liste est un haricot. Vous pouvez utiliser le
@Qualifier
à dire le Printemps qui bean/liste à utiliser. Voir http://static.springsource.org/spring/docs/3.0.x/reference/beans.html#beans-autowired-annotation-qualifiers