@Inject,@Resource,@Autowired的区别

@Resource

JDK默认提供的注解,数据JSR-250规范的一部分,可以标记在属性或者setter方法上,在实现依赖注入的时候匹配的顺序是:
● 基于名称
● 基于类型
● 基于@Quailfier

@Inject

数据JSR-330提供的注解,该规范主要提供Java相关的注解,需要手动引入

<dependency>
    <groupId>javax.inject</groupId>
    <artifactId>javax.inject</artifactId>
</dependency>

处理顺序:
● 基于类型
● 基于@Quailfier
● 基于名称和@Named

@Autowired

Spring提供的注解,处理顺序:
● 基于类型
● 基于@Quailfier
● 基于名称

总结

@Resource和@Inject都是Java平台提供的注解,主要用于JavaEE,而之所以能在Spring中生效是由于Spring实现了相关的规范,而@Autowired是Spring提供注解,使用上只要明白其注入顺序,正确注入使用即可,没有过多的区别

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容