spring autoWire注解和@resource注解区别
2024-10-19 02:18:47
1.autoWire注解主要是按类型匹配。因为autowire的扫描机制,是按照接口类型来扫描bean的。
而JSR250 @resource注解是通过名称扫描注入的。
@autowire注解的扫描方式和@resource注解的扫描bean的方式是不一样的。
3.
@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用,如下:
- @Autowired() @Qualifier("baseDao")
- private BaseDao baseDao;
3、@Resource(这个注解属于J2EE的),默认安照名称进行装配,名称可以通过name属性进行指定,
如果没有指定name属性,当注解写在字段上时,默认取字段名进行按照名称查找,如果注解写在setter方法上默认取属性名进行装配。 当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。
- @Resource(name="baseDao")
- private BaseDao baseDao;
我喜欢用 @Resource注解在字段上,且这个注解是属于J2EE的,减少了与spring的耦合。最重要的这样代码看起就比较优雅。
4.用@Autowired不需要用getter和setter
但是建议一般结合@Qualifer的方式用@Autowired
最新文章
- java反射类内容获取
- Angular中的Ajax
- C++之STL一般总结
- [Effective JavaScript 笔记]第61条:不要阻塞I/O事件队列
- WebRTC录音(2)-录音文件转换成WAV格式
- Asp.Net微信登录-电脑版扫描二维码登录
- JavaEE5 Tutorial_Servlet
- 高性能mysql主主架构
- 归并排序 求逆序数 链表的归并排序 多线程归并排序 java
- 源码编译基于Android平台的XBMC笔记
- 理解CSS Clip属性及用法
- PHP中数组转换为XML格式
- objective-C nil,Nil,NULL 和NSNull的小结
- ComboBox 中 DisplayMember 和 ValueMember 都是具体干什么的?
- Shell 整数比较、字符串比较
- hdu 1730 Nim博弈
- Github恶搞之自定义你的contribution图表
- Shell - 简明Shell入门08 - 函数(Function)
- kubernetes 的pod控制器
- php的MCRYPT_RIJNDAEL_256 和mcrypt_encrypt 用法
热门文章
- web前端--知识点,笔记叠加(javascript,jquery,html5+css3.0,ajax)
- SQL Server 2008中新增的变更数据捕获(CDC)和更改跟踪
- AJAX局部更新演出排期
- linux安装IPython四种方法
- android LayoutInflater.inflate()的参数介绍
- Java线程通信——wait() 和 notify()
- FindWindow()&;&;FindWindowEx
- cocos2dx中的背景图层CCLayerColor和渐变图层CCLayerGradient
- 如何在cocos2dx lua的回调函数里面用self
- Highcharts-3.0.6