依赖注入——dependency injection
依赖:指bean对象的创建依赖于容器。Bean对象依赖资源(资源可能是类,bean中ref另外一个bean,也可能是字符串,如name的值)
注入:指Bean对象依赖的资源由容器来设值和装配
Spring注入 看文档pdf 目录Part III. Core Technologies The IOC container里面有一个5.4Dependencies里面就是依赖注入的文档参考内容
Spring 构造器注入 见IOC创建对象三种方式中的有参构造
spring注入 setter注入 最常见 重点
要求被注入的属性必须有set方法,set方法的方法名由set+属性首字母大写。如果属性是boolean 没有get方法,是is
(1)常量注入
<bean id="student" class="cn.sxt.vo.Student">
<property name="name" value="张三丰"></property>
</bean>
(2)Bean注入
<bean id="address" class="cn.sxt.vo.Address">
<property name="address" value="中国"></property>
</bean>
<bean id="student" class="cn.sxt.vo.Student">
<property name="name" value="张三丰"></property>
<property name="address" ref="address"></property>
</bean>
(3)数组注入
<bean id="student" class="cn.sxt.vo.Student">
<property name="name" value="张三丰"></property>
<property name="address" ref="address"></property>
<property name="books">
<array>
<value>傲慢与偏见</value>
<value>仲夏夜之梦</value>
<value>雾都孤儿</value>
</array>
</property>
</bean>
(4)List注入
<property name="hobbies">
<list>
<value>羽毛球</value>
<value>乒乓球</value>
<value>玻璃球</value>
<value>台球</value>
</list>
</property>
(5)map的注入
<property name="cards">
<map>
<entry key="中国银行" value="56556556565"/>
<entry>
<key><value>建设银行</value></key>
<value>6846461631649</value>
</entry>
</map>
</property>
(6)set注入
<property name="games">
<set>
<value>LoL</value>
<value>dota</value>
<value>cs</value>
<value>dnf</value>
</set>
</property>
(7)null注入
<property name="wife"><null></null></property>
(8)properties注入
<property name="info">
<props>
<prop key="学号" >1455</prop>
<prop key="sex" >男</prop>
<prop key="name" >小明</prop>
</props>
</property>
(9)p命名空间导入
查看文档需要加p的头文件
xmlns:p="http://www.springframework.org/schema/p"
<!-- p命名空间注入属性依然要set方法 -->
<bean id="user" class="cn.sxt.vo.User" p:name="风清扬" p:age="260"></bean>
(10)c命名空间注入
查看文档需要加c的头文件
xmlns:c="http://www.springframework.org/schema/c"
<!-- 要求有对应参数的构造方法 -->
<bean id="u1" class="cn.sxt.vo.User" c:name="风清扬" c:age="260"></bean>
这就结束了,以前都可以在文档中找到。最好去html的index.html里面找。