22、自動裝配-方法、構造器位置的自動裝配
阿新 • • 發佈:2018-11-29
22、自動裝配-方法、構造器位置的自動裝配
22.1 @Autowired
標註在方法上
- 標註在方法上,Spring容器建立當前物件,就會呼叫方法,完成賦值
- 方法使用的引數,自定義型別的值從IOC容器中獲取
@Autowired
public void setCar(Car car) {
this.car = car;
}
22.2 @Autowired
標註在構造器
- 預設加在IOC容器中的元件,容器啟動會呼叫無參構造器建立物件,再進行賦值操作
- 構造器也是從IOC容器中獲取
- 如果元件只有一個有參構造器,這個有參構造器的
@Autowired
可以省略,也是自動從IOC容器中獲取
@Autowired
public Boss(Car car) {
this.car = car;
System.out.println("Boss 的有參構造器...");
}
22.3 @Autowired
標註在引數上
- 引數也是從IOC容器中獲取
- @Bean+方法引數;引數從容器中獲取,可以省略
@Autowired
public Boss(@Autowired Car car) {
this.car = car;
System.out.println("Boss 的有參構造器...");
}
@Bean public Color color(@Autowired Car car) { return new Color(car); }