今天在定义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>
分享到:
相关推荐
iOS中的timer的循环引用问题,对timer进行了一次封装
循环引用源码分析前言正文分析doGetBean为什么Prototype不可以...关于Spring 循环引用 网上的分析文章很多,写的水平良莠不齐,虽然看完了 知道怎么个回事 但是过段
主要介绍了简单了解spring bean的循环引用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Spring的3级缓存和循环引用的理解.doc
循坏依赖即循环引用,两个或多个bean相互引用,最终形成一个环。这篇文章主要介绍了Spring循环依赖的解决办法,需要的朋友可以参考下
本篇文章主要介绍了在springmvc中解决FastJson循环引用的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
spring是如何解决的循环依赖; BeanFactory和FactoryBean有什么区别; Spring中用到的设计模式; SPI 机制(Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制), 很多地方有用到: AOP ...
8.1问题跟踪 72 8.2成为参与 73 8.3更多信息 73 第二部分 架构与实现 73 9.技术概述 73 9.1运行环境 73 9.2核心组件 74 9.2.1 SecurityContextHolder,SecurityContext和认证对象 74 获取有关当前用户的信息 75 ...
简洁版的spring ioc自行实现,不到10个类,描述了加载机制,是研究IOC DI的好...目标是了解基本原理,所以没考虑循环引用的情况 完整的ECLIPSE工程,直接导入就可使用。 里面有测试例子,单步运行,能够知道加载细节。
SpringBoot-SpringData-ManyToMany,博文:http://blog.csdn.net/ABAP_Brave/article/details/52849827
xml注入注解注入简单MVC功能注入支持递归注入属性注入引用注入(但未解决循环依赖)注解配置单例以及原型模式切换运用的设计模式工厂设计模式:Spring使用工厂模式通过BeanFactory,ApplicationContext创建bean对象...
现在有两个对象Water和Ice,这两个对象相互引用,代码如下: 代码 Ice类 package com.xiaolinzi.cyclicdepen; import org.springframework.beans.factory.annotation.Autowired; import org.springframework....
一个很奇怪的“循环引用”警告 如果您运行my.Main ,您将看到输出如下: Jan 17, 2015 1:36:28 AM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh INFO: Refreshing org....
通过带着读者从java基础到java编写spring全家桶框架面试以及技术讲解,例如:集合,数组,JVM,引用类型,IO/NIO,多线程,类加载机制,spring设计原理等内容实现。 适合人群:具备一定编程基础,工作3-5年的研发...
EL表达式 (详解) EL表达式 1、EL简介 1)语法结构 ${expression} 2)[]与.... EL 提供.... 当要存取的属性名称中包含一些特殊字符,如....等并非字母或数字的符号,就一定要使用 []。... ${user.My-Name}应当改为${user[...
4. 用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap) 5. 线程的状态 5. 线程的阻塞的方式 6. sleep和wait的区别 7. hashmap的底层实现 8. 一万个人抢100个红包,如何实现(不用队列),如何...
视频教程中引用了简单的“ Hello,World”示例 (3)简单形状 在视频教程中参考了“简单形状”。 (4)RotateExampleP5 旋转椭圆示例 (5)调试模式P5 显示一种打开/关闭调试信息的方法 (6)循环 嵌套循环 (7...
1. 修复parser在处理循环引用在某些特定场景下的bug; 2. 支持在Bean上通过JSONType配置DisableCircularReferenceDetect/BeanToArray特性; 3. 修正在并发序列化时Object类型字段BUG; 4. 新增JSONPObject对jsonp...
从Jackson 1.6开始,您可以使用两个注释来解决无限递归问题,而不必在序列化过程中忽略getter / setter: 和 。 说明 为了使Jackson正常工作,不应将关系的两个方面之一进行序列化,以避免引起您stackoverflow错误...
Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true。如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check...