在Spring IoC 中 Bean之间的依赖被称之为 依赖注入(Dependecy Injection,DI)
依赖注入使用的注解为 @Autowired 他会根据属性的类型,找到对应的Bean 进行注入。
当同类型的bean有多个时,会通过名称进行选择,如果还是选择不出来会报错。
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bussinessPerson': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.didispace.service.Animal com.didispace.service.impl.BussinessPerson.animal; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [com.didispace.service.Animal] is defined: expected single matching bean but found 2: cat,dog
要消除歧义 可以使用 @Primary ,@Quelifier
@Primary 是修改优先权的注解,需要用哪个Bean 就在哪个Bean上加@Primary。
有些时候有很多Bean上