Spring depends-on
来源:互联网 发布:淘宝嘉实多机油好不好 编辑:程序博客网 时间:2024/06/01 23:56
depend-on用来表示一个Bean的实例化依靠另一个Bean先实例化。如果在一个bean A上定义了depend-on B那么就表示:A 实例化前先实例化 B。
< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
< beans>
< bean name="dao" class="research.spring.beanfactory.ch3.Dao" depends-on="database" >
< / bean >
< bean id="database" class="research.spring.beanfactory.ch3.Database" >
< / bean >
< / beans >
</beans>通过定义depends-on=”database”可以控制Sping实例化dao的顺序。在任何时候Spring总会保证实例化DAO之前先实例Database。
DAO depend-on Database时,也可以在DAO上定义setDatabase方法来接收一个Database的实例。这样Sping会保证DAO创建前先创建Database实例,然后在把实例化DAO后调用DAO的setDatabase方法把刚才创建的Database的实例注入给DAO。前提条件时Database必须定义成单例的。否则Spring在DAO depend-on Database时会创建一个Database的实例,在DAO.setDatabase时又会创建Database另外的一个实例。这种情况可能不是你想要的,而且很可能会造成比较隐蔽的错误。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
< beans >
< bean name="dao" class="research.spring.beanfactory.ch3.Dao" depends-on="database " >
< property name="database" >
< ref bean="database" >< / ref >
< / property >
< / bean >
< bean id="database" class="research.spring.beanfactory.ch3.Database" >
< / bean >
Spring允许Bean和Bean依赖的Bean(合作者)上同时定义depends-on。比如A depends-on B && B depends-on C && C depends-on D。下面这样定义是合法的。Sping实例化他们的顺序是D->C->B->A。
上面的例子中A的实例化需要先实例化D,C,B。Spring会按照depend-on中定义的顺序来处理Bean。在这个例子里Spring实例化对象的顺利是D->C->B->A。虽然实例化对象的顺序和前面“A depends-on B && B depends-on C && C depends-on D”的情况一下,但是这里的意义是完全不同的。不能用“A depends-on D,C,B”代替“A depends-on B && B depends-on C && C depends-on D”。
depends-on是一个非常又用的功能,借助depends-on我们可以管理那些依赖关系不明显或者没有直接依赖关系的对象。- Spring depends-on
- Spring depends-on
- Spring depends-on介绍
- Spring的 depends-on
- spring depends-on
- Spring 标签属性 depends-on
- spring的depends-on属性
- spring的懒加载和depends-on
- Spring bean加载顺序 depends-on
- Spring中depends-on的作用是什么?
- Spring中depends-on的作用是什么?
- Spring的depends-on属性Bean依赖
- Spring的depends-on属性Bean依赖
- Spring Framework 总结 -- depends-on 和延迟初始化
- SPRING.NET 1.3.2 学习16--使用depends-on
- Spring管理Bean之间的关系一(depends-on)
- Spring常用xml配置,如depends-on,init-method
- 【Spring学习14】延迟初始化lazy-init与depends-on
- Spring RootBeanDefinition,ChildBeanDefinition,GenericBeanDefinition
- Ecshop中重要文件init.php文件代码分析
- Raspberry - 无线网卡迅捷FW150US驱动安装
- 使用MediaMosa建立视频网站
- 怎样快速学习一门新技术
- Spring depends-on
- 雾山的Robotium学习笔记---Robotium针对apk包的测试
- Oracle Rac集群环境下删除归档日志
- android 耳机线控的实现方法
- linux内核sk_buff的结构分析
- Oracle11g RAC开启关闭、设置归档
- cocos2d-x 运行在 genymotion上面
- Origami 用于Quartz 的免费的交互设计框架
- Linux网络代码