文档章节

mybatis Circular dependencies error

Lione0
 Lione0
发布于 2017/06/27 15:48
字数 410
阅读 18
收藏 0
点赞 0
评论 0

现象

前一段时间开发新项目(springboot1.4.0,mybatis3.2.8,mybatis-spring1.2.1,druid1.0.18)
项目框架搭建完,投入开发一段时间后,有拆库需求,加入多数据源warn警告

2017-06-27 14:34:39.468  INFO 16144 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'defaultDataSourceConfig' of type [class com.diditech.iov.config.DruidDBConfig$$EnhancerBySpringCGLIB$$bdaf88b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2017-06-27 14:34:39.570  WARN 16144 --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Bean creation exception on non-lazy FactoryBean type check: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'resourceMapper' defined in file [***\ResourceMapper.class]: Cannot resolve reference to bean 'defaultSqlSessionFactoryBean' while setting bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'defaultSqlSessionFactoryBean': Requested bean is currently in creation: Is there an unresolvable circular reference?
2017-06-27 14:34:39.571  WARN 16144 --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Bean creation exception on non-lazy FactoryBean type check: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'roleGroupMapper' defined in file [***\RoleGroupMapper.class]: Cannot resolve reference to bean 'defaultSqlSessionFactoryBean' while setting bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'defaultSqlSessionFactoryBean': Requested bean is currently in creation: Is there an unresolvable circular reference?
more...

检查druid配置(如下),mapper文件等,均未发现问题

@MapperScan(basePackages = { "abc.repository", "abc.po" }, sqlSessionFactoryRef = "defaultSqlSessionFactoryBean")
public class DruidDBConfig {  

	/**
	 * 略...
	 * */

	@Bean(name = "defaultSqlSessionFactoryBean")
	@Primary
	public SqlSessionFactory sqlSessionFactoryBean(@Qualifier("defaultDataSource") DataSource dataSource) throws Exception {
		SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
		sqlSessionFactoryBean.setDataSource(dataSource);
		sqlSessionFactoryBean.setFailFast(true);
		PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
		Resource[] mapperLocations = resolver.getResources("classpath*:/abc/*Mapper.xml");
		sqlSessionFactoryBean.setMapperLocations(mapperLocations);
		//注册mybatis拦截器
		sqlSessionFactoryBean.setPlugins(new Interceptor[]{pageInterceptor()});
		return sqlSessionFactoryBean.getObject();
	}
	
	/**
	 * 略...
	 * */
}

分析 

mapper创建时因defaultSqlSessionFactoryBean bean循环引用不能正确引用异常
项目使用mybatis的@MapperScan对mapper.java进行扫描并向mybatis注册id

遂进入mybatis-spring官网,由指引进入其git(链接),发现issues:#186
使用版本过低,项目已在版本1.2.4已修复该bug

解决

升级mybatis-spring版本后,运行不在有warm循环引用异常

总结建议 

使用最新的用量较高的稳定版本,个人方法:搜索"maven mybatis-spring" (百度也可以)

© 著作权归作者所有

共有 人打赏支持
Lione0
粉丝 0
博文 4
码字总数 1906
作品 0
青岛
程序员
Mybatis-spring 1.2.3 发布

MyBatis-Spring 是一个用来整合 MyBatis 和 Spring 框架的小类库。 Mybatis-spring 1.2.3 发布,此版本是个 bug 修复版本,更新内容: Custom FactoryBean on MapperScan annotation added,...

oschina
2015/06/19
10.2K
2
T3js 2.0.2 发布,JavaScript 框架

T3js 2.0.2 发布,更新内容如下: Remove package.json caching in the dist function (Jeff Tan) 下载:v2.0.2 T3js 2.0.0也在前不久发布,但改版有些问题,官方不建议使用,更新内容如下:...

oschina
2015/11/20
2.1K
2
eclipse编java布局文件突然无法显示可是没有错误,只有警告,怎么办?

Circular dependencies cannot exist in RelativeLayout Exception details are logged in Window > Show View > Error Log 之前不会看不了,好像点了一次发布带签名的apk之后就这样了,肿么......

qinuxman
2012/08/10
1K
1
导入maven项目,jar包下载不成功的问题

导入一个maven项目,有3个包怎么都下载不下来 --项目出现感叹号,pom.xml 文件报错。 试了update project 几次无果。 又试了 网上说的 根目录下 执行:mvn dependency:copy-dependencies 命令...

henry_huazi
2016/02/15
3.4K
1
通用Mapper不能注入

@Liuzh533 你好,大神,想跟你请教个问题: 这里在配置basePackage的时候,将通用Mapper所在的包com.isea533.m

lengmianshi
2016/10/03
1K
3
ClojureScript 1.9.456 发布,外部推理及综合模块

ClojureScript 1.9.456 发布了,ClojureScript 是一个用来将 Clojure 语言转成 JavaScript 脚本的工具。 该版本引入新特性 —— 外部推理(详情)以及综合 JS 模块(详情) 详细记录包括: ...

红薯
2017/01/30
268
0
Scala 项目 Error compiling sbt component 'compiler-interface-2.9.1.final-52.0'

在编译scala项目时,一直无法通过。动不动就出现 Information:Module "mybatis-scala-samples" was fully rebuilt due to project configuration/dependencies changes Information:5/27/17......

Galy_绿
2017/05/27
580
1
项目质量管理 Tattletale 1.1.0.Beta2

JBoss Tattletale是一个能获得你从事的项目或产品的概览的工具。此工具可递归扫描JAR包的文件,并生成带文件链接的格式化的HTML报告。 JBoss Tattletale提供的报告可帮助你获得项目的质量。 ...

红薯
2009/12/07
299
0
springMVC spring3.1+ mybatis3.1+

求一份整合spring3.1 springMVC 和mybatis 的详细说明文档或者代码。自己整合几天了 , controller 没问题 能转发请求就是 整合mybatis 在controller 加上@Inject private UserService userS...

foeget
2013/03/31
1K
9
web项目启动不起来

异常如下: [ERROR] org.springframework.web.context.ContextLoader,2016-07-26 19:47:47,911,Context initialization failed org.springframework.beans.factory.BeanCreationException: Er......

围城丶
2016/07/26
687
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

微信小程序Java登录流程(ssm实现具体功能和加解密隐私信息问题解决方案)

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。 一、登录流程图 二、小程序客户端 doLogin:function(callback = () =>{}){let ...

公众号_好好学java
7分钟前
0
0
流利阅读笔记28-20180717待学习

“我不干了!” 英国脱欧大臣递交辞呈 雪梨 2018-07-17 1.今日导读 7 月 6 日,英国政府高官齐聚英国首相的官方乡间别墅——契克斯庄园,讨论起草了一份关于英国政府脱欧立场的白皮书。可是没...

aibinxiao
36分钟前
2
0
OSChina 周二乱弹 —— 理解超算排名这个事,竟然超出了很多人的智商

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @-冰冰棒- :分享Ed Sheeran/Beyoncé的单曲《Perfect Duet (with Beyoncé)》 《Perfect Duet (with Beyoncé)》- Ed Sheeran/Beyoncé 手机...

小小编辑
47分钟前
32
5
Android 获取各大音乐平台的真实下载地址

废话 电脑使用谷歌浏览器或者QQ浏览器的时候。。。。。。。说不清楚,还是看图吧 大概意思就是,只要网页上需要播放,只要能播放并且开始播放,这个过程就肯定会请求到相关的音乐资源,然后就...

她叫我小渝
今天
0
0
shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
1
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部