У меня есть циклическая ссылка в одном из моих проектов на работе с использованием Spring, который я не могу исправить, и при запуске происходит сбой со следующей ошибкой:
'org.springframework.security.authenticationManager': Requested bean is currently in creation: Is there an unresolvable circular reference?
Я попытался воссоздать ту же проблему на меньшем уровне в примере проекта (без всех подробностей моего рабочего проекта ). Однако мне не удалось придумать правдоподобный сценарий, в котором Spring терпит неудачу с ошибкой. Вот что у меня есть:
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. Единственное другое различие в двух проектах заключалось в том, что используемые аннотации были javax.inject.Inject и javax.annotation.ManagedBean вместо @Autowired и @Component.