मैं वसंत, जो मैं ठीक करने में असमर्थ हूँ का उपयोग कर काम पर अपनी परियोजनाओं में से एक में एक वृत्तीय संदर्भ है, और स्टार्टअप पर निम्न त्रुटि के साथ विफल:स्प्रिंग वृत्तीय संदर्भ उदाहरण
'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 के इंजेक्शन के साथ) मारा। "सेटर इंजेक्शन" समाधान में मदद नहीं मिली, लेकिन '@ Lazy' एनोटेशन ने चाल की। यह बुलेट घाव पर बैंड-एड्स की तरह लगता है, लेकिन अभी के लिए मैं जीत ले जाऊंगा और चले जाऊंगा। धन्यवाद मिस्टर Spaeth। – demaniak