zoukankan      html  css  js  c++  java
  • SPRING循环依赖(circular reference)的解决方法 [转贴]

     

    有时候,在SPRING中两个类互相含有对方的声明,一般情况这是不允许并且极可能是有错误的。
    会报这个错:
    org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name ‘***’: Bean with name ‘***’ has been injected into other beans [***, ***]in its raw version as part of a circular reference,

    but has eventually been wrapped (for example as part of auto-proxy creation). This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using ‘getBeanNamesOfType’ with the ‘allowEagerInit’ flag turned off, for example.


    但有时候这正是我们想要的,考虑这种情况:
    我们用一个ManagerFactory来包含所有Manager的声明,以便在程序中用到多个Manager的地方,一个入口集中访问。但是,可能某个Manager本身就需要用到其它几个Manager,进而用到ManagerFactory。这时,我们可以这样声明即可:

     <bean id="managerFactory" class="common.utils.ManagerFactory" lazy-init="true"/>

    来源:http://www.blogjava.net/alwayscy/archive/2008/02/24/181726.htm

     


  • 相关阅读:
    Apple Tree(树状数组+线段树)
    平衡阵容(RMQ st表算法)
    一起去打CS
    夜归

    淋雨
    大马戏
    雨中行船
    弄堂里
    夜游天安门
  • 原文地址:https://www.cnblogs.com/yubinfeng/p/1383491.html
Copyright © 2011-2022 走看看