Przerabiam książkę Spring in Action i natrafiłem na przykład w którym komponent jest wstrzykiwany poprzez Provider i zapisuję do listy
@Inject
public GuitarPlayer(Provider<Instrument> ins) {
instruments = new LinkedList<Instrument>();
for (int i = 0; i < 5; i++) {
instruments.add(ins.get());
}
}
Moje pytanie to czy różnica między tym a wstrzykiwaniem przez @Autowired polega na tym, że w przypadku @Inject każdy element listy będzie osobną instancją?
Jeśli tak to w jaki sposób w pliku xml mógłbym wstrzykiwać do tej listy różne klasy które implementuję ten sam interfejs?