Maven Web项目配置Mybatis出现SqlSessionFactory错误的解决方案

Posted 爱你爱自己

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven Web项目配置Mybatis出现SqlSessionFactory错误的解决方案相关的知识,希望对你有一定的参考价值。

一、错误现象

 

[html] view plain copy
 
 技术分享技术分享
  1. 严重: Context initialization failed  
  2. org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.mybatis.spring.mapper.MapperScannerConfigurer#0‘ defined in URL [file:/F:/Workspaces/.metadata/.me_tcat7/webapps/jade_admin/WEB-INF/classes/config/spring/applicationContext-resources.xml]: Cannot resolve reference to bean ‘SqlSessionFactory‘ while setting bean property ‘sqlSessionFactory‘; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘SqlSessionFactory‘ defined in URL [file:/F:/Workspaces/.metadata/.me_tcat7/webapps/jade_admin/WEB-INF/classes/config/spring/applicationContext-resources.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [config/mybatis/configuration.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error creating instance. Cause: java.lang.IllegalStateException: Cannot enable lazy loading because CGLIB is not available. Add CGLIB to your classpath.  
  3.     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:334)  
  4.     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)  
  5.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1417)  
  6.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)  
  7.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)  
  8.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)  
  9.     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)  

 

 

二、解决方案

1 在pom.xml中加上reflectasm包,这个包可以提供映射机制。

 

[html] view plain copy
 
 技术分享技术分享
  1. <dependency>  
  2.     <groupId>com.esotericsoftware.reflectasm</groupId>  
  3.     <artifactId>reflectasm</artifactId>  
  4.     <version>1.09</version>  
  5. </dependency>  

 

2 在/src/main/webapp/WEB-INF/lib/中添加cglib-3.1.jar

技术分享

 

以上是关于Maven Web项目配置Mybatis出现SqlSessionFactory错误的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Maven发布项目丢失Mybatis Mapper包的映射问题

记录idea maven项目打包部署web项目mapper扫描失败

MyBatis框架的搭建及配置文件SQL映射文件的编写

ssm单项目整合

maven项目,在spring中整合mybatis

Spring+Mybatis+Maven