It should work like this (remove the ArrayList bean from your XML):
public Class Xyz {
private List<Daemon> daemons;
@Autowired
public void setDaemons(List<Daemon> daemons){
this.daemons = daemons;
}
}
I don’t think there’s a way to do this in XML.
See:
3.9.2. @Autowired
and @Inject
:
It is also possible to provide all beans of a particular type from the
ApplicationContext by adding the annotation to a field or method that
expects an array of that type:
public class MovieRecommender {
@Autowired
private MovieCatalog[] movieCatalogs;
// ...
}
The same applies for typed collections:
public class MovieRecommender {
private Set<MovieCatalog> movieCatalogs;
@Autowired
// or if you don't want a setter, annotate the field
public void setMovieCatalogs(Set<MovieCatalog> movieCatalogs) {
this.movieCatalogs = movieCatalogs;
}
// ...
}
BTW, as of Spring 4.x, these lists can be ordered automatically using the @Ordered
mechanism.