1、依赖注入-dependdency injection
依赖:指bean对象创建依赖于容器。Bean对象的依赖资源。
注入:指bean对象依赖的资源由容器来设置和装配(注入)。
spring注入-构造器注入
参见ioc创建对象
3、spring注入-setter注入
要求被注入的属性必须有set方法,set方法的方法名由set+属性首字母大写。如果属性是boolean类型是is+属性首字母大写。
常量注入
<!-- 常量注入 -->
<bean id="student" class="com.zfy.vo.Student">
<property name="name" value="张三"></property>
</bean>
bean注入
<bean id="addr" class="com.zfy.vo.Address">
<property name="address" value="北京"></property>
</bean>
<bean id="student" class="com.zfy.vo.Student">
<!-- bean注入 -->
<property name="address" ref="addr"></property>
</bean>
数组注入
<bean id="student" class="com.zfy.vo.Student">
<!-- 数组注入 -->
<property name="books">
<array>
<value>红楼梦</value>
<value>西游记</value>
<value>三国演义</value>
<value>水浒传</value>
</array>
</property>
</bean>
list注入
<bean id="student" class="com.zfy.vo.Student">
<!-- list注入 -->
<property name="hobbies">
<list>
<value>羽毛球</value>
<value>兵乓球</value>
<value>足球</value>
</list>
</property>
</bean>
map注入
<bean id="student" class="com.zfy.vo.Student">
<!-- map注入 -->
<property name="cards">
<map>
<entry key="中国银行" value="123456"></entry>
<entry>
<key><value>建设银行</value></key>
<value>654321</value>
</entry>
</map>
</property>
</bean>
set注入
<bean id="student" class="com.zfy.vo.Student">
<!-- set注入 -->
<property name="games">
<set>
<value>lol</value>
<value>dota</value>
<value>cs</value>
</set>
</property>
</bean>
null注入
<bean id="student" class="com.zfy.vo.Student">
<!-- null -->
<property name="salary">
<null></null>
</property>
</bean>
Properties注入
<bean id="student" class="com.zfy.vo.Student">
<!-- properties注入 -->
<property name="info">
<props>
<prop key="学号">20161104001</prop>
<prop key="sex">男</prop>
</props>
</property>
</bean>
p命名空间 需要在头文件中加入:
xmlns:p="http://www.springframework.org/schema/p"
<!-- p命名空间注入属性依然要设置set方法 -->
<bean id="user" class="com.zfy.vo.User" p:name="张三" p:age="18"></bean>
c命名空间 需要在头文件中加入:
xmlns:c="http://www.springframework.org/schema/c"
<!-- c命名空间注入要求要有对应参数的构造方法 -->
<bean id="u1" class="com.zfy.vo.User" c:name="李四" c:age="20"></bean>