【发布时间】:2017-10-19 05:40:49
【问题描述】:
旧代码:
@Component("someFactory")
public class SomeFactoryImpl implements SomeFactory{
@Autowired
private List<SomeTransformer<?, ?>> someTransformers;
新代码:
@Component("someFactory")
public class SomeFactoryImpl implements SomeFactory {
private List<SomeTransformer<?, ?>> someTransformers;
@Autowired
public SomeFactoryImpl(List<SomeTransformer<?, ?>> someTransformers) {
this.someTransformers = someTransformers;
}
我得到了:
org.springframework.beans.factory.BeanCurrentlyInCreationException: 创建名为“someFactory”的 bean 时出错:请求的 bean 是 当前正在创建中:是否存在无法解析的循环引用?
Spring通过构造函数自动装配时会不会出现一些问题?
【问题讨论】:
-
我想您定义了多个要注入的 SomeTransformer 类型的 bean?你能发布这些豆子的代码吗?您使用什么类型的配置? XML?注释了吗?
-
是的,我可能有一些循环依赖,但我的问题是为什么它适用于旧代码?春天在这里如何运作?我不想修复循环,但知道在两种代码中解析 bean 有什么区别