我在工作中的一个项目有一个循环引用使用Spring,对此我无法修复,并失败,出现以下错误启动:春圆形参考示例
'org.springframework.security.authenticationManager': Requested bean is currently in creation: Is there an unresolvable circular reference?
我试着在示例项目的较小级别重新创建相同的问题(没有我的工作项目的所有细节)。然而,我一直无法想出一个合理的情况,即春天失败并出现错误。 这是我有:
public class ClassA {
@Autowired
ClassB classB;
}
public class ClassB {
@Autowired
ClassC classC;
}
@Component
public class ClassC {
@Autowired
ClassA classA;
}
@Configuration
public class Config {
@Bean
public ClassA classA() {
return new ClassA();
}
@Bean
public ClassB classB() {
return new ClassB();
}
}
我有一个类似的场景在我的项目,该项目失败,我期待春天在我的样本项目,抱怨也是如此。但它工作正常!有人能给我一个简单的例子,说明如何用循环引用错误来破解弹簧吗?
编辑:我使用javax.inject.Provider固定的问题。 2个项目中唯一的另一个区别是使用的注释是javax.inject.Inject和javax.annotation.ManagedBean来代替@Autowired和@Component。
只是为了增加这一点,我们遇到了类似的问题(注入SpringTemplateEngine)。 “setter注入”解决方案没有帮助,但“@ Lazy”注解做到了。这感觉就像一个弹伤创伤的创可贴,但现在我会取胜并走开。谢谢Spaeth先生。 – demaniak 2016-02-08 15:33:59