依賴:bean對象的建立依賴容器java
注入:bean對象全部屬性,由容器注入spring
參考第四點建立對象的方式數組
構造函數注入分爲app
無參構造注入函數
有參構造注入測試
其實咱們在一開始瞭解IOC思想的時候就是用Setter注入的可是那是最基本的下面開始分析複雜的spa
基於spring的setter注入官方解釋code
Spring團隊一般提倡使用構造函數注入,由於它可讓您將應用程序組件實現爲不可變對象,並確保不存在必需的依賴項null
。此外,注入構造函數的組件始終以徹底初始化的狀態返回給客戶端(調用)代碼。附帶說明一下,大量的構造函數自變量是一種很差的代碼味,這代表該類可能承擔了太多的職責,應進行重構以更好地解決關注點分離問題。xml
Setter注入主要應僅用於能夠在類中分配合理的默認值的可選依賴項。不然,必須在代碼使用依賴項的任何地方執行非空檢查。對象
setter注入的一個好處是,setter方法可以使該類的對象在之後從新配置或從新注入。
第一步:編寫實體類(最好的各個注入類型都包含)(省略getset和toString)
public class Student implements Serializable {
private String name;
private Integer age;
private Teacher teacher;
private String[] books;
private List<String> hobbies;
private Map<String,Object> score;
private Set<String> games;
private Properties subject;
}
public class Teacher implements Serializable {
private String name;
private Integer age;
}
第二步:編寫核心配置文件applicationContext.xml