Spring无法解决的循环引用

时间:2013-05-24 01:58:09

标签: java spring autowired inject

我知道这已经提到了,这是一个菜鸟问题,但我不知道如何解决这个问题。我在启动应用程序时遇到无法解决的循环引用错误。结构如下。有什么问题,如何解决?

@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;

}

1 个答案:

答案 0 :(得分:1)

1)您无需在任何其他组件中注入控制器。它应该仅用于处理HTTP请求。不要在其中包含任何业务逻辑。您可以在服务层或经理层中编写它。

2)你为循环引用获得异常的原因是你的AAAImpl类依赖于BBBImpl,它依赖于CCCImpl,它最终再次依赖于AAA。因此,spring无法创建任何这些bean。