一、屬性注入
上篇我們簡單提到依賴注入的用途。回顧一下所講內容,發現在object節點下使用了<property name="Tool" ref="computer"/>。而property 標籤正是用來屬性注入的。而ref是用來標識是關聯到哪個object。而name屬性是指屬性名。如下:<object id="modernPerson" type="SpringNetIoC.ModernPerson, SpringNetIoC">
<property name="Tool" ref="computer"/>
</object>
值類型的注入是需要使用property 節點的value屬性。如<property name="Name" value="Liu Dong"/>
作爲內聯類型可以使用如下:
<property name="Friend">
<object type="SpringNetDi.Person, SpringNetDi"/>
</property>
同理,內聯類型可以是循環引用的對象(見代碼處)。
二、構造函數注入
構造器注入使用constructor-arg標籤作爲標識。同樣具有於屬性注入相同的方式,使用name、ref、value作爲構造器注入的屬性,如下:
<constructor-arg name="argPerson" ref="person"/>
<constructor-arg name="intProp" value="1"/>
程序的代碼如下: