spring3.2.3 mybatis3 整合问题 出现错误

mamba10 2013-08-28 11:41:23



严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxSqlMapClient' defined in ServletContext resource [/WEB-INF/config/applicationContext-common.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: com/ibatis/common/xml/NodeletException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1007)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:953)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:608)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.NoClassDefFoundError: com/ibatis/common/xml/NodeletException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getDeclaredConstructor(Unknown Source)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:78)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1000)
... 28 more
Caused by: java.lang.ClassNotFoundException: com.ibatis.common.xml.NodeletException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
... 34 more



spring:
<!-- 核心 SqlMapClient-->
<bean id="xxxSqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="dataSource" ref="xxxDataSource" />
<property name="configLocation" >
<value>/WEB-INF/config/configSqlMapConfig.xml</value>
</property>
<!--
configLocation // 单个SqlMapConfig.xml
configLocations // 多个SqlMapConfig.xml
mappingLocations // 自动匹配SqlMapConfig.xml
-->
<property name="mappingLocations">
<list>
<value>classpath*:/com/xxx/common/generated/xml/*.xml</value>
<!--
<value>classpath*:/com/xxx/**/api/xml/*.xml</value>
-->
</list>
</property>
</bean>


<bean id="weshareSqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
<property name="sqlMapClient" ref="xxxSqlMapClient" />
</bean>
...全文
133 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mamba10 2013-08-29
  • 打赏
  • 举报
回复
java.lang.ClassNotFoundException: com.ibatis.common.xml.NodeletException 嗯我看到这个错误了, 查的结果就是 :1)说是少了jar包 2)说是版本不对 我用的mybatis3, 把jar包都拷进去了, 仍然有错 难道是mybatis不能整合, 必须用ibatis的原因?
GP0071 2013-08-29
  • 打赏
  • 举报
回复
Caused by: java.lang.NoClassDefFoundError: com/ibatis/common/xml/NodeletException
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.getDeclaredConstructor(Unknown Source)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:78)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1000)
    ... 28 more
通过这段异常可以简单看出,使用spring“org.springframework.orm.ibatis.SqlMapClientTemplate”包中文件和ibatis做关联时,未找到com/ibatis/common/xml/NodeletException,我初步猜想有以下两个原因: 1、ibatis少JAR包了。 2、spring的jar版本和你的ibatis的jar版本不对。
foxpeter 2013-08-29
  • 打赏
  • 举报
回复
java.lang.ClassNotFoundException: com.ibatis.common.xml.NodeletException 问题应该是这里吧
mamba10 2013-08-29
  • 打赏
  • 举报
回复
xxx 那就是中间的一个单词啊
跳蚤图 2013-08-29
  • 打赏
  • 举报
回复
LZ的配置文件里这么多xxx....
我的波塞冬 2013-08-29
  • 打赏
  • 举报
回复
是不是版本问题 冲突或不支持高版本
mamba10 2013-08-29
  • 打赏
  • 举报
回复

错误原因应该是:spring自带的orm中,只有ibatis的,没有mybatis,所以使用mybatis3和spring整合的话只能用SqlSessionFactory 了

用ibatis+Spring 才可以是哟个SqlMapClientFactoryBean

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧