处理XML时出错“无法加载类[org.springframework.transaction.annotation.AnnotationTransactionAttributeSource]

时间:2017-07-30 14:59:27

标签: java xml spring hibernate applicationcontext

我需要配置文件applicationcontext.xml,我使用hibernate 5.2.10和spring 3.1.1。
我已经有了这个配置但是有一个错误:

  

“处理XML时出错”无法加载类[org.springframework.transaction.annotation.AnnotationTransactionAttributeSource]。   你在Java 1.5+上运行吗?根本原因:   java.lang.NoSuchMethodError:   org.springframework.util.ClassUtils.forName(Ljava /郎/字符串;)Ljava /郎/类;”。   有关详细信息,请参阅错误日志“

<?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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">

        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
            <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
            <property name="url" value="jdbc:mysql://localhost/training"></property>
            <property name="username" value="root"></property>
            <property name="password" value=""></property>
        </bean>

        <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            <property name="dataSource" ref="dataSource"></property>
            <property name="annotatedClasses">
                <list>
                    <value>co.ma.training.entity.Stagiaire</value>
                </list>
            </property>
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                </props>
            </property>
        </bean>

        <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
            <property name="sessionFactory" ref="sessionFactory"></property>
        </bean>
        <tx:annotation-driven transaction-manager="transactionManager" />

        <context:annotation-config></context:annotation-config>
        <context:component-scan base-package="co.ma.training"></context:component-scan>

</beans>

1 个答案:

答案 0 :(得分:1)

请确保将最新兼容的Java版本用于项目中的框架。 (1.5 +)

如果您正在使用Maven,请尝试使用以下属性。

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>