構造我有三個豆:電影,導演,英雄的Spring IoC,與構造函數自動裝配,如何國際奧委會將選擇其中多個構造
請與我裸了冗長的代碼,重要的是瞭解我的獻疑:
電影豆:
public class Movie {
private Director director;
private String name;
private Hero hero;
public Movie(Director director, Hero hero) {
System.out.println("m1");
this.director = director;
this.name = name;
this.hero = hero;
}
public Movie(Director director, String name) {
System.out.println("m2");
this.director = director;
this.name = name;
}
public Movie(Director director) {
System.out.println("m3");
this.director = director;
}
public Movie() {
System.out.println("m4");
}
}
主任和英雄豆:
public class Director {
}
public class Hero {
}
彈簧core.xml
<bean id="movieBean" class="Movie" autowire="constructor" />
<bean id="directorBean" class="Director"></bean>
<bean id="heroBean" class="Hero"></bean>
請注意,上面的XML我已經宣佈所有的三種豆
MainClass
ApplicationContext context = new ClassPathXmlApplicationContext("spring-core.xml");
Movie movie = (Movie) context.getBean("movieBean");
System.out.println(movie);
的輸出是「m1 「即所謂的構造是Movie(Director director, Hero hero)
我的問題是:爲什麼只有這個構造函數被調用,並 IOC容器將如何在多個構造選擇,而如果我們使用自動裝配使用構造
http://stackoverflow.com/questions/21906361/dependency-injection-with-autowire-constructor-when-multiple-constructors-are – Gangadhar