<bean>定义中元素ref 和depends-on 的区别
2014-04-04 15:53
411 查看
1:在多数情况下,一个Bean对另一个Bean的依赖最简单的做法,就是将一个Bea 设置为另外一个Bean的属性。
在xml配置文件中最常见的的就是使用<ref />元素。有时候还有另外一种变体,如果一个Bean能感知IOC容器,只要给出它所依赖的Id,那么就可以通过编程的方式从容器中取
得它所依赖的对象。无论采用哪种方法,被依赖的Bean将在依赖Bean之前被适当地初始化。
2:在少数情况下,有时候Bean直接的的依赖关系并不是那么的直接(例如,当类中的静态块被初始化是,如数据库驱动注册)。depends-on 属性可以用于当前Bean初始化之
前,显式地强制一个或多个Bean被初始化。
若需要表达对多个Bean的依赖,可以在depends-on中将指定的多个Bean名字用分隔符进行分隔,分隔符可以是逗号,空格及分号等。
3:下边说下,被依赖的Bean和依赖Bean什么意思。
<bean id="A" class="">
<property name="propertyname" ref="B"/>
</bean>
<bean id="B" class=""/>
由上边可知,A Bean的一个属性指向B Bean,也就是说A 依赖B ,没有B ,A就是不完整的;所以说A 是依赖Bean ,B 是被依赖Bean;
depends-on 强制的说明在该Bean 初始化之前,那些Bean必须先初始化!
ref通常用在一个Bean的属性指向另外一个Bean,这个Bean必须先初始化。
(个人见解,如有错误,敬请谅解)
在xml配置文件中最常见的的就是使用<ref />元素。有时候还有另外一种变体,如果一个Bean能感知IOC容器,只要给出它所依赖的Id,那么就可以通过编程的方式从容器中取
得它所依赖的对象。无论采用哪种方法,被依赖的Bean将在依赖Bean之前被适当地初始化。
2:在少数情况下,有时候Bean直接的的依赖关系并不是那么的直接(例如,当类中的静态块被初始化是,如数据库驱动注册)。depends-on 属性可以用于当前Bean初始化之
前,显式地强制一个或多个Bean被初始化。
若需要表达对多个Bean的依赖,可以在depends-on中将指定的多个Bean名字用分隔符进行分隔,分隔符可以是逗号,空格及分号等。
3:下边说下,被依赖的Bean和依赖Bean什么意思。
<bean id="A" class="">
<property name="propertyname" ref="B"/>
</bean>
<bean id="B" class=""/>
由上边可知,A Bean的一个属性指向B Bean,也就是说A 依赖B ,没有B ,A就是不完整的;所以说A 是依赖Bean ,B 是被依赖Bean;
depends-on 强制的说明在该Bean 初始化之前,那些Bean必须先初始化!
ref通常用在一个Bean的属性指向另外一个Bean,这个Bean必须先初始化。
(个人见解,如有错误,敬请谅解)
相关文章推荐
- Spring配置文件中使用ref local与ref bean的区别. 在ApplicationResources.properties文件中,使用<ref bean>与<ref local>方法如下
- Spring中<ref local=""/>与<ref bean=""/>区别
- <jsp:useBean>元素使用全解
- Spring中<ref local=""/>与<ref bean=""/>区别
- 使用<appSettings>元素定义配置参数
- <jsp:usebean> 标签中的scope取值范围区别
- <同步,异步>与<阻塞,非阻塞>的区别?
- FLT_EPSILON定义在<float.h>
- <转>js onload/onunload/onbeforeunload事件
- 使用<bean:define >取到bean:write的值,并赋值给java变量
- <context-param>与<init-param>的区别与作用
- 疑问 <meta http-equiv="charset" content="utf-8">和 <meta charset="UTF-8">的区别?
- <default-action-ref>的用法
- [转]asp.net 前台绑定后台变量方法总结:<%= %> 和<%# %>的区别
- <%%>与<scriptrunat=server>,<%=%>与<%#%>的区别
- <%@ include file=""%> 和<jsp:include page=""/>两者的区别
- <input type="file">定义样式并获取上传文件路径及指定文件类型
- <logic:forward>与<logic:redirect>区别
- 将js代码放到<head>标签和放到<body>标签里的区别
- <context-param>与<init-param>的区别与作用