前言:
前一篇博客已经介绍了 @Autowired 注解结合 @Primary 或者 @Resources 使用的方式,现在再介绍两个比较类似的注解,但却不是 Spring 框架提供的,而是 Java 自带的注解。
简介一:
- @Resource 是 JSR-250 规范中定义的注解,默认按照属性名称进行组件的装配;也可以通过该注解的 name 属性进行修改,例如@Resource(name=“userDao2”)。
- 该注解不支持 @Primary,也不支持 @Autowired(required=false)。
简介二:
- @Inject 是 JSR-330 规范中定义的注解,使用时需要额外导入 javax.inject 依赖。
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
- 该注解支持 @Primary,同样不支持 @Autowired(required=false)。
个人觉得这两个注解没啥东西,了解下就行。可以自己写测试方法,看看与 @Primary 注解的结合使用效果。