但是它们之间有一些区别: @Autowired 是 Spring 框架提供的注解,而 @Resource 是 Java EE 标准的注解。 @Autowired 默认按照类型进行装配,如果有多个同类型的 bean,则需要结合 @Qualifier 进行指定。而 @Resource 默认按照名称进行装配,如果名称匹配不到,则会尝试使用类型进行匹配。 @Autowired 在 Spring 中比较常用,...
发现这里返回的为OSS,当使用@Autowired的时候,会根据类进行自动装配,此时找不到OSSClient这个类,会报错,而当使用@Resource的时候,会根据名称进行自动装配,此时这个方法public OSS ossClient能够找到相同名称的ossClient,因此使用@Resource的时候运行成功
@Inject是Java技术(称为CDI)的一部分,该技术定义了类似于Spring的依赖项注入标准。在Spring应用程序中,这两个批注的工作方式与Spring决定除了支持自己的JSR-299批注外,还支持某些JSR-299批注。 高分回答: 关键的区别(阅读时注意春季文档之间)@Autowired和@Inject是,@Autowired有“必要”的属性,而@Inject已经没有“必...