zoukankan      html  css  js  c++  java
  • 错误调试记录2

    bean 1

    <bean id="rebateInBo" class="com.shunwang.swpay.rebate.bo.imp.RebateInBoImp" >

          <property name="dao">
               <ref bean="rebateInDao"/>
          </property>
          <property name="rebateOutBo">
               <ref bean="rebateOutBo"/>
          </property>
         
           <property name="bussPartnerBo">
               <ref bean="bussPartnerBo"/>
          </property>
         
     </bean>

    bean 2

    <bean id="rebateOutBo" class="com.shunwang.swpay.rebate.bo.imp.RebateOutBoImp">
          <property name="dao">
               <ref bean="rebateOutDao"/>
          </property>
          <property name="rebateInBo">
               <ref bean="rebateInBo"/>
          </property>
     </bean>

    启动异常:

    [ERROR]2011-03-11 14:53:29,687 MESSAGE : Context initialization failed
    org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'rebateInBo': Bean with name 'rebateInBo' has been injected into other beans [rebateOutBo] 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.
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:431)
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)

    解决方法:

    lazy-init="true" 加到一个bean的属性里就好了,如下:

    <bean id="rebateInBo" class="com.shunwang.swpay.rebate.bo.imp.RebateInBoImp"  lazy-init="true">

          <property name="dao">
               <ref bean="rebateInDao"/>
          </property>
          <property name="rebateOutBo">
               <ref bean="rebateOutBo"/>
          </property>
         
           <property name="bussPartnerBo">
               <ref bean="bussPartnerBo"/>
          </property>
         
     </bean>


     

  • 相关阅读:
    Java第三方工具库/包汇总
    龙果开源支付系统介绍
    a标签href不跳转 禁止跳转
    使用LVS 实现负载均衡的原理。
    使用LVS实现负载均衡原理及安装配置详解
    这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理。
    LoadRunner使用教程
    Mac OS启动服务优化高级篇(launchd tuning)禁用某些服务
    三种方式配置Mac OS X的启动项
    网络资源整理
  • 原文地址:https://www.cnblogs.com/alaricblog/p/3278204.html
Copyright © 2011-2022 走看看