IOC(Inversion of Control):其思想是反轉資源獲取的方向. 傳統的資源查詢方式要求元件向容器發起請求查詢資源. 作為回應, 容器適時的返回資源. 而應用了 IOC 之後, 則是容器主動地將資源推送給它所管理的元件, 元件所要做的僅是選擇一種合適的方式來接受資源. 這種行為也被稱為查詢的被動形式
DI(Dependency Injection) — IOC 的另一種表述方式:即元件以一些預先定義好的方式(例如: setter 方法)接受來自如容器的資源注入. 相對於 IOC 而言,這種表述更直接
若字面值中包含特殊字元,可以使用 <![CDATA[]]> 把字面值包裹起來。
引用其它 Bean
1.在 Bean 的配置檔案中, 可以通過 <ref> 元素或 ref 屬性為 Bean 的屬性或構造器引數指定對 Bean 的引用.
2.也可以在屬性或構造器裡包含 Bean 的宣告, 這樣的 Bean 稱為內部 Bean
賦值為null 必須要用<null/>
為級聯屬性賦值
注意級聯屬性需要先初始化後才可以為屬性賦值,否則會有異常,與Struts2不同
集合屬性 <list>, <set> 或 <map>
配置 java.util.List 型別的屬性, 需要指定 <list> 標籤, 在標籤裡包含一些元素. 這些標籤可以通過 <value> 指定簡單的常量值, 通過 <ref> 指定對其他 Bean 的引用. 通過<bean> 指定內建 Bean 定義. 通過 <null/> 指定空元素. 甚至可以內嵌其他集合.
陣列的定義和 List 一樣, 都使用 <list>
配置 java.util.Set 需要使用 <set> 標籤, 定義元素的方法與 List 一樣
<!-- 裝配集合屬性 -->
<bean id="user" class="com.atguigu.spring.helloworld.User">
<property name="userName" value="Jack"></property>
<property name="cars">
<!-- 使用 list 元素來裝配集合屬性 -->
<list>
<ref bean="car"/>
<ref bean="car2"/>
</list>
</property>
</bean>
properties
配置獨立的集合Bean,以供其他的Bean進行引用
<util:list id="cars">
<ref bean="car"/>
<ref bean="car1"/>
<ref bean="car2"/>
</util:list>
<bean id="personList" class="bean.collection.Persons">
<property name="name" value="Jack"></property>
<property name="age" value="23"></property>
<property name="carList" ref="cars"></property>
</bean>
<bean id="personList1" class="bean.collection.Persons" p:name="skye"
p:age="23" p:carList-ref="cars">
</bean>