java.lang.NoClassDefFoundError:org / springframework / jdbc / datasource / TransactionAwareDataSourceProxy

时间:2018-10-03 02:57:41

标签: java spring noclassdeffounderror spring-jdbc

我有一个非常小的项目,我使用Mybatis,Spring仅用于依赖项注入,commons-DBCP用于连接池。 由于我使用的是DBCP,Mysql和Mybatis,因此我觉得不必添加Spring-JDBC依赖项,也没有在pom.xml中添加该依赖项。

但是,我遇到了异常,寻找解决方案建议添加Spring-JDBC依赖项。 这听起来不对,因为我只需要添加所需的依赖项,并且在我的项目中没有引用任何Spring-JDBC类。

这是我的应用程序上下文xml。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">

    <context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true"/>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:dao/mybatis3-config.xml" />
    </bean>

    <bean id="dataSource" destroy-method="close"
        class="org.apache.commons.dbcp2.BasicDataSource">
        <property name="driverClassName" value="${db.driver}" />
        <property name="url" value="${db.jdbcurl}" />
        <property name="username" value="${db.username}" />
        <property name="password" value="${db.password}" />
        <property name="initialSize" value="${db.initialSize}" />
    </bean>

    <bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
        <property name="mapperInterface" value="com.ws.dao.UserDao" />
    </bean>
</beans>

这是堆栈跟踪:

    Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'dataSource' threw exception; nested exception is 
java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/TransactionAwareDataSourceProxy
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:122)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:77)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1635)
    ... 27 more

0 个答案:

没有答案