四.Spring4学习-----依赖注入DI

一.依赖注入--dependency Injection

依赖:指bean对象创建依赖于容器。Bean对象的依赖资源

注入:指bean对象依赖的资源由容器来设置和装配

DI(Dependency Injection) — IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如: setter 方法)接受来自如容器的资源注入. 相对于 IOC 而言,这种表述更直接

二.Spring注入方式


1.构造器注入----Spring注入

          通过构造方法注入Bean 的属性值或依赖的对象,它保证了 Bean 实例在实例化后就可以使用。
          构造器注入在 <constructor-arg> 元素里声明属性, <constructor-arg> 中没有 name 属性

         

                 可详见上一讲IOC创建对象的三种方式:http://blog.csdn.net/aoaoxiaoxian/article/details/78190623


2.属性注入(setter注入)---- Spring注入

               要求被注入的属性必须有set方法。Set方法的方法名由set+属性首字母大写。如果属性是booolean没有get方法是is

1)常量注入

   <bean id="student" class="cn.sxt.vo.Student">
   	<property name="name" value="张三丰"></property>
   </bean>

2)bean注入

   <bean id="addr" class="cn.sxt.vo.Address"/>
   <bean id="student" class="cn.sxt.vo.Student">
   	 <property name="name" value="张三丰"/>
   	 <property name="addr" ref="addr"/>
   </bean>

3)数组注入

<bean id="student" class="cn.sxt.vo.Student">
    <property name="name" value="张三丰"/>
    <property name="addr" ref="addr"/>
    <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="149127348932174"/>
			<entry>
				<key><value>建设银行</value></key>
				<value>622710023478234234</value>
			</entry>
		</map>
	</property>

6)set注入

	<property name="games">
		<set>
			<value>lol</value>
			<value>dota</value>
			<value>cs1.6</value>
			<value>dnf</value>
		</set>
	</property>

7)Null注入

<property name="wife"><null/></property>

8)Properties注入

       <property name="info">
		<props>
			<prop key="学号">2015052601</prop>
			<prop key="sex">男</prop>
			<prop key="name">小明</prop>
		</props>
	</property>

9)p命名空间的注入

<!-- p命名空间注入 属性依然要设置set方法 -->
<bean id="user" class="cn.sxt.vo.User" p:name="风清扬" p:age="230"/>

10)c命名空间注入

<!-- c命名空间注入要求有对应参数的构造方法 -->
<bean id="u1" class="cn.sxt.vo.User" c:name="nico" c:age="16"/>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值