到目前为止最常见的导致BeanCreationException 莫过于注入一个上下文中不存在的bean。
例如:BeanA尝试注入BeanB
@Component
public class BeanA {
@Autowired
private BeanB dependency;
...
}
如果spring上下文中不存在BeanB,那么下面的异常将会抛出
Error creating bean with name 'beanA': Injection of autowired dependencies failed;
当你尝试让spring使用接口名来时创建一个bean时,但是发现它有两个或多个实现
例如:BeanB1 和BeanB2都实现了同一个接口
@Component
public class BeanB1 implements IBeanB { ... }
@Component
public class BeanB2 implements IBeanB { ... }
@Component
public class BeanA {
@Autowired
private IBeanB dependency;
...
}
这将导致BeanFactory抛出一下异常:
Error creating bean with name 'beanA': Injection of autowired dependencies failed;
noMapping
Error creating bean
with
name 'beanA'..