Spring 中的byName与 byType
来源:互联网 发布:白酒网络营销策划方案 编辑:程序博客网 时间:2024/05/18 00:13
在应用中,我们常常使用<ref>标签为JavaBean注入它依赖的对象。但是对于一个大型的系统,这个操作将会耗费我们大量的资源,我们不得不花费大量的时间和精力用于创建和维护系统中的<ref>标签。实际上,这种方式也会在另一种形式上增加了应用程序的复杂性,那么如何解决这个问题呢?Spring为我们提供了一个自动装配的机制,尽管这种机制不是很完善,但是在应用中结合<ref>标签还是可以大大的减少我们的劳动强度。前面提到过,在定义Bean时,<bean>标签有一个autowire属性,我们可以通过指定它来让容器为受管JavaBean自动注入依赖对象。
<bean>的autowire属性有如下六个取值,他们的说明如下:
1、 No:即不启用自动装配。Autowire默认的值。
2、 byName:通过属性的名字的方式查找JavaBean依赖的对象并为其注入。比如说类Computer有个属性printer,指定其autowire属性为byName后,Spring IoC容器会在配置文件中查找id/name属性为printer的bean,然后使用Seter方法为其注入。 (如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配;如果存在多个该类型bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的bean,则什么事都不发生,也可以通过设置)
3、 byType:通过属性的类型查找JavaBean依赖的对象并为其注入。比如类Computer有个属性printer,类型为Printer,那么,指定其autowire属性为byType后,Spring IoC容器会查找Class属性为Printer的bean,使用Seter方法为其注入。
4、 constructor:通byType一样,也是通过类型查找依赖对象。与byType的区别在于它不是使用Seter方法注入,而是使用构造子注入。
5、 autodetect:在byType和constructor之间自动的选择注入方式。
6、 default:由上级标签<beans>的default-autowire属性确定。
http://blog.csdn.net/youlingqishi11/article/details/6458821
- Spring 中的byName与 byType
- Spring 中的byName与 byType
- Spring 中的byName与 byType
- Spring中的byName与byType
- Java Spring Tutorial -- autowire byName, byType, constructor
- Spring Autowire自动装配byName和byType
- Spring的自动装配(byName;byType)
- Spring的自动装配(byName;byType)
- Spring的自动装配(byName;byType)
- Spring自动装配之byName和byType【Spring入门】
- spring 自动装配 default-autowire="byName/byType"
- Spring:byName,byType注入演示 以及父类的使用
- spring 自动装配 default-autowire="byName/byType"
- spring 自动装配autowire=byName或byType
- Spring注入中byType和byName的总结
- Spring注入中byType和byName的总结
- spring 自动装配 default-autowire="byName/byType"
- Spring注入中byType和byName的总结
- POJ1797 Heavy Transportation 最短路
- vmware ubuntu12.04 只有nat模式不能联网
- 可重入函数与不可重入函数(推荐)
- Android开发总结笔记 FrameLayout(帧布局) 1-1-3
- android的多种对话框
- Spring 中的byName与 byType
- [优化篇]OpenStack的虚拟桌面协议Spice代替VNC(2)
- 【读书笔记】iOS-内存释放
- MFC Edit空间获得焦点
- Java多线程模拟多人过山洞
- 简化SQL计算之字母分段
- SecureCRT 7序列号
- 问题解决:tomcat使用”严重: Error initializing endpoint“
- Docker 架构之Daemon