1 @Autowire和@Resource
Bean中没有指定name,默认为类名小写
//没有指定name,默认为user
@Bean
public void User(){
}
1.1 在接口只有一个实现类时,两个注解的效果一样
区别:
- 1 @Autowired:Spring注解 | @Resource:JDK注解
- 2 @Autowired 通过类型,自动装配(byType,按照定义的Bean中的Class类型) | @Resource 先通过参数名(byName 先按照Bean中的id…),后是类型
- 3 @Autowired + @Qualifier(“user”) = @Resource(name=“user”)
1.2 在接口有多个实现类时:
ps: @Autowired + @Qualifier("user1") = @Resource(name="user1")
2 @Qualifier 的应用
该注解是用来消除依赖注入冲突的.
使用场景: RabbtiMQ 的队列声明.