依賴註入依賴註入支持屬性註入、構造函數註入、工廠註入。屬性註入:屬性註入即通過setXxx()方法註入Bean的屬性值或依賴對象屬性註入要求Bean提供一個預設的構造函數(無參構造函數),併為需要註入的屬性提供對應的Setter方法過程:Spring先調用Bean的預設構造函數實例化Bean對象,然...
依賴註入
依賴註入支持屬性註入、構造函數註入、工廠註入。
屬性註入:
屬性註入即通過setXxx()方法註入Bean的屬性值或依賴對象
屬性註入要求Bean提供一個預設的構造函數(無參構造函數),併為需要註入的屬性提供對應的Setter方法
過程:Spring先調用Bean的預設構造函數實例化Bean對象,然後通過反射的方式調用Setter方法註入屬性值
配置方法:
<bean id="bigbean" class="com.me.Bigbean"> <property name="age"><value>25</value></property> </bean>
Bean的每一個屬性對應<bean>中的每一個<property>,name為屬性的名稱,在Bean實現類中擁有與對應的Setter方法。(註意:Spring只會檢查Bean中是否有對應的Setter方法,至於Bean中是否有對應的屬性變數則不做要求)
構造函數註入:
構造函數註入能保證一些必要的屬性在Bean實例化時就得到設置,保證Bean在實例化後就可使用。如果使用屬性註入只能人為在配置時提供保證而無法在語法級提供保證,構造函數註入就可以很好地滿足這一要求。
要求:Bean必須提供帶參的構造函數
配置方法:
<bean id="bigbean" class="com.me.Bigbean">
<constructor-arg index="0" type="int">
<value>25</value>
</constructor-arg>
</bean>
工廠方法註入:
<!--遲點補充-->