java.lang.NoClassDefFoundError: org / springframework / jdbc / datasource / TransactionAwareDataSourceProxy - PullRequest
0 голосов
/ 03 октября 2018

У меня очень маленький проект, и я использую 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...