我在工作中的一個項目有一個循環引用使用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