1. 依赖注入常用注解
1 Autowire
1.1
按照类型注入,可以和Qualifier配合使用,
- @Autowired(required = false)表示当前的依赖注入失败不报错,比如有个依赖字段是个接口,但是该接口没有实现类,也不报错。
- 没有Qualifier,只有Autowire代表按照类型注入,如果实现类有多个,则汇报错
- Qualifier和Autowire同时使用,则注入Qualifier指定名字的bean
1.2 使用AutoWire注解Field injection is not recommended
可以改成
private final Animal animal;
public Bird( Animal animal) {
this.animal = animal;
}
等价于
private final Animal animal;
@Autowired
public Bird(@Qualifier("anotherDog") Animal animal) {
this.animal = animal;
}
如果Animal有多个实现时,需要用第二种方法指定具体的实现