问题描述
启动tomcat时报以下错误:严重:Exceptionsendingcontextinitializedeventtolistenerinstanceofclassorg.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'commonDao'definedinServletContextresource[/WEB-INF/spring-config/bean.xml]:Initializationofbeanfailed;nestedexceptionisjava.lang.NoClassDefFoundErrorCausedby:java.lang.NoClassDefFoundError加入tx.xml就会报错,如果没有的话就可以运行.bean.xml代码:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.0.xsd"><beanid="commonDao"class="com.dz.dao.CommonDao"autowire="byType"/><beanid="permissionAction"class="com.dz.action.PermissionAction"scope="prototype"><propertyname="commonDao"ref="commonDao"/><!--name="commonDao"中的commonDao是PermissionAction的属性--></bean></beans>
tx.xml代码:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.0.xsd"><beanid="transactionManager"autowire="byType"class="org.springframework.orm.hibernate3.HibernateTransactionManager"/><tx:adviceid="transactionAdvice"transaction-manager="transactionManager"><tx:attributes><tx:methodname="save*"/><tx:methodname="delete*"/><tx:methodname="update*"/><tx:methodname="*"read-only="true"/></tx:attributes></tx:advice><aop:configproxy-target-class="true"><aop:advisorpointcut="execution(*com.dz.dao.*.*(..))"advice-ref="transactionAdvice"/></aop:config></beans>
解决方案
解决方案二:
Errorcreatingbeanwithname'commonDao'definedinServletContextresource无法创建commonDaobean无法进行初始化
解决方案三:
看set注入有没有搞错
解决方案四:
NoClassDefFoundError缺少了什么类,请查看具体的异常信息
解决方案五:
引用3楼lyon_z的回复:
NoClassDefFoundError缺少了什么类,请查看具体的异常信息
+1
解决方案六:
com.dz.dao.CommonDao--检查你的源代码里面这个类对应的class文件有吗?
解决方案七:
引用1楼heardy的回复:
Errorcreatingbeanwithname'commonDao'definedinServletContextresource无法创建commonDaobean无法进行初始化
+1
解决方案八:
如果按楼主描述加入tx.xml才会报错而bean.xml是正常的,那么commonDaobean应该是可以初始化的之前我配置的时候也是一加入AOP的配置就提示某类无法初始化,而去掉了AOP的配置就正常了后面才发现少加了一个类包楼主检查一下配置AOP所需要的类包都加了吗
解决方案九:
class="com.dz.dao.CommonDao"应该注入的是对应的dao借口的实现吧,是不是class="com.dz.dao.CommonDaoImpl"