我知道这已经提到了,这是一个菜鸟问题,但我不知道如何解决这个问题。我在启动应用程序时遇到无法解决的循环引用错误。结构如下。有什么问题,如何解决?
@Controller("AAA")
public class AAAImpl implements AAA {
private final BBB BBB; //this is constructor injected
}
@Service
public class BBBImpl implements BBB {
@Autowired
CCC CCC;
}
@Service ( "CCC" )
public class CCCImpl extends AbstractQueryService<FinalSeminar, Long> implements CCC {
@Resource
AAA AAA;
}
答案 0 :(得分:1)
1)您无需在任何其他组件中注入控制器。它应该仅用于处理HTTP请求。不要在其中包含任何业务逻辑。您可以在服务层或经理层中编写它。
2)你为循环引用获得异常的原因是你的AAAImpl类依赖于BBBImpl,它依赖于CCCImpl,它最终再次依赖于AAA。因此,spring无法创建任何这些bean。