您的位置:首页 > 编程语言 > Java开发

spring的依赖注入方式详解

2014-01-07 19:01 615 查看
第一种:使用setter注入

直接使用bean元素的子元素property进行相关的设置

①简单类型,直接使用value进行赋值。

<bean id="somebean" class="graduate.oracle.oa.domain.User" init-method="init">
<property name="id" value="123" />
</bean>
②引用类型,使用ref属性引用另外一个bean。

<bean id="somebean" class="graduate.oracle.oa.domain.User" init-method="init">
<property name="bean" ref="otherbean"/>
</bean>
③集合类型,直接使用对应集合类型的元素即可(list,set,map,properties等)

<bean id="somebean" class="graduate.oracle.oa.dao.User" init-method="init">
<property name="list">
<!-- list代表集合 -->
<list>
<!-- value代表集合中的简单值 -->
<value>123</value>
<value>123</value>
<!-- ref代表集合的元素是引用 -->
<ref bean="otherbean"/>
<list>
<value>innerList</value>
<value>innerList</value>
</list>
</list>
</property>
</bean>

第二中:使用构造器注入
直接使用bean元素的子元素constructor-arg

①index:在构造方法中参数的位置。

②type:参数的类型。
③value:设置对应的参数值。

<bean id ="somebean" class=""graduate.oracle.oa.dao.User">
<!-- value是参数的值 -->
<constructor- arg index="0" type="java.lang.String" value="graduate.oracle.oa.domain.User">
</constructor-arg>
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

注意:如果没有构造方法,则使用默认的构造方法实例化对象,如果有spring则使用唯一的 constructor-arg实例化对象。

本文出自 “smile执着” 博客,请务必保留此出处http://ibin1520.blog.51cto.com/8339749/1349545
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: