Изучая Spring и наткнулся на трудности. Как вводить beans через конструктор или через поля? Я научился делать это через конфигурацию XML, но через аннотации это не работает. Вот мой код. Интерфейс Musi c:
public interface Music {
public String playMusic();
}
Class FolkMusi c:
@Component
public class FolkMusic implements Music {
@Override
public String playMusic() {
System.out.println("FOLK");
return null;
}
}
Class HipHipMusi c:
@Component
public class HipHopMusic implements Music {
@Override
public String playMusic() {
System.out.println("HipHop");
return null;
}
}
Class MusicPlayer:
@Component
public class MusicPlayer {
ArrayList<Music> mu;
@Autowired
public MusicPlayer(ArrayList arrayList){
mu = arrayList;
}
public void playMusic(){
System.out.println("Size = " + mu.size());
}
}
Искать компоненты в XML:
<context:component-scan base-package="cam.mark.mus"/>
Как мне переписать код, чтобы Spring автоматически вставлял компоненты в конструктор класса MusicPlayer? С этим кодом в консоли не появляются ошибки. В результате отображается «Размер = 0»