Spring Boot 学习–01.依赖注入
@Component@Autowired
依赖注入是Spring Boot里非常重要的特性,Dependency Injection。这里的例子是《深入浅出Spring boot2.x》中的例子。
任务说明
人可以通过动物来完成某些工作,比如让狗守门,猫抓老鼠。那么如何来建立他们的关系,即依赖注入呢
注解说明
@Component
装配,用处是表明这个类被扫描进入Spring IoC容器中,可以用来做Bean
@ComponentScan
扫描装配,表明何种策略进行扫描,by name,type,basePackage路径包,
@Autowired
根据属性的类型by type,找到对应的Bean进行注入,可以标注 属性(类前面)、方法(方法前面)、参数(构造方法的参数前面)
@Primary
优先级选择这个Bean,放在Bean前面
@Qualifier
限定,限定就用这个Bean,by name
任务分解
1.创建Bean。
1.1 创建接口Person 、Animal,人类接口有设置动物setAnimal,使用动物service两个方法;动物接口有动物做什么的方法use
1.2 创建实现类 BussinessPerson,实现接口,注入动物Bean,重写接口方法;Dog ,Cat,实现接口,重写接口方法use,说明具体做什么
2.依赖注入
在BussinessPerson中,其本身是一个Bean,用@Autowired注入一个动物,由于注入Bean应该是唯一的,根据Animal类别去查找,发现有Dog 和Cat两个Bean,会报错,
需要用@Primary或者@Qualifier(“dog”&