spring的循环引用问题

今天在定义bean的时候遇到循环引用问题,
看看网上都是怎么解决,
1.是在循环引用中bean时直接引用接口的实现类.
2.是在再循环引用中在为一个接口创建两个bean的实例,
  就像接力一样,再多创建出来个人
  但这种情况是有条件的.
  (原文说两个业务服务互相调用的路径是不相交的)
  我理解的是这两个bean是不同的接口的实例.
3.覆盖源码了:
  有一个参数setAllowRawInjectionDespiteWrapping,默认是false,将其设成true即可。
  代码如下:

  
public class MyWebApplicationContext extends XmlWebApplicationContext {  
  
      @Override  
      protected DefaultListableBeanFactory createBeanFactory() {  
        DefaultListableBeanFactory beanFactory =  super.createBeanFactory();  
        beanFactory.setAllowRawInjectionDespiteWrapping(true);  
        return beanFactory;  
      }  
  
    }

  然后在web.xml配置启用此context,
   
<context-param>  
        <param-name>contextClass</param-name>  
        <param-value>xxx.MyWebApplicationContext</param-value>  
    </context-param>

猜你喜欢

转载自james-jj.iteye.com/blog/1522645