我有四个spring配置类(用@Configuration注释)。 配置类A定义将在配置类B和C中使用的bean。 配置类D导入其他三个配置类A,B和C.
A类
@Configuration
public Class A {
@Bean
public MyBean bean1() {
return new Bean1();
}
@Bean
public MyBean bean2() {
return new Bean2();
}
@Bean
public MyBean bean3() {
return new Bean3();
}
}
B类
@Configuration
public class B {
@Autowired
@Qualifier("bean1")
private MyBean bean1;
@Autowired
@Qualifier("bean2")
private MyBean bean2;
@Bean
public MyBeanCollector beanCollector() {
MyBeanCollector mbc = new MyBeanCollector();
mbc.add(bean1);
mbc.add(bean2);
return mbc;
}
}
C类
@Configuration
public class C {
@Autowired
@Qualifier("bean1")
private MyBean bean1;
@Autowired
@Qualifier("bean3")
private MyBean bean3;
@Bean
public MyAnotherBeanCollector anotherBeanCollector() {
MyAnotherBeanCollector mabc = new MyAnotherBeanCollector();
mabc.add(bean1);
mabc.add(bean3);
return mabc;
}
}
D类
@Configuration
@Import(A.class, B.class, C.class)
public class D {
}
现在,我的问题是,我一直在启动时遇到异常:
org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'beanCollector': Requested bean is currently in creation: Is there an unresolvable circular reference? at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.beforeSingletonCreation(DefaultSingletonBeanRegistry.java:327)
我不确定为什么我一直收到此错误消息。请帮忙。
答案 0 :(得分:0)
使用您的配置创建了sample project - 工作正常