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>