@Autowired|@Autowired @Resource区别
@Autowired:
1、可用于:域(Filed)或者说属性(Property)、构造方法定义(Constructor)、方法定义(Method)上。
2、在实例化bean定义的过程中,通过AutowiredAnnotationBeanPostProcessor来检查当前对象是否有@Autowired标注的依赖需要注入(或者
3、按照类型进行匹配。
4、配合@Qualifier实现类型+名称匹配(使用场景:当前@Autowired标注的依赖在容器中只能找到一个实例与之对应的话,可以。可是,要是能够同时找到两个或者多个同一类型的对象实例,IoC容器并不知道应该把具体哪个实例注入给当前对象,例子如下:假设FXNewsProvider使用的IFXNewsListener有两个实现,一个是DowJonesNewsListener,一个是ReutersNewsListener,二者相关配置如下:)
【@Autowired|@Autowired @Resource区别】5、由Spring提供
文章图片
文章图片
@Resource
1、可用于:域(Filed)或者说属性(Property)、构造方法定义(Constructor)、方法定义(Method)上。
2、在实例化bean定义的过程中,通过CommonAnnotationBeanPostProcessor来检查当前对象是否有用@Resource、@PostConstruct、@PreDestroy标注的依赖需要注入(或者
3、按照名称进行匹配(IoC容器将根据@Resource所指定的名称,到容器中查找beanName与之对应的实例,然后将查找到的对象实例注入给@Resource所标注的对象),如果名称找不到,再按照类型匹配。
4、JSR250提供。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 对称加密和非对称加密的区别
- 人如果没梦想,和咸鱼有什么区别(自媒体时代把握住就能咸鱼翻身)
- ps -aux和ps -ef区别
- 概率论/统计学|随机变量 的 分布函数 与 概率密度函数 的区别
- java之static、static|java之static、static final、final的区别与应用
- 性能测试中QPS和TPS的区别
- performSelectorOnMainThread:withObject:waitUntilDone:参数设置为NO或YES的区别
- unity探究UGUI的Image中sprite和overrideSprite的区别
- 上过大学和没上大学的区别在哪(几张现实对比图告诉你答案)