SSM开启事务报错的解决方法

SSM开启事务失败的解决方法:

 

希望在xxService的一个方法里启动事务,添加了事务注解:

@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public User updateData(User user){
    ......
 }

applicationContext.xml配置如下

<!--&lt;!&ndash; 事务管理器 (JDBC) &ndash;&gt;-->
    <bean id="transactionManager"
          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>



    <!--&lt;!&ndash; 启动声明式事务驱动 &ndash;&gt;-->
    <tx:annotation-driven transaction-manager="transactionManager" />

transaction-manager="transactionManager"显示为灰色,鼠标停在上面提示Redundant default attribute value assignment

运行工程报以下错误:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'xxController': Unsatisfied dependency expressed through field 'xxService'; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'xxService' is expected to be of type 'com.xx.service.xxService' but was actually of type 'com.sun.proxy.$Proxy39'

解决方法:

<tx:annotation-driven transaction-manager="transactionManager" />

删掉,替换成

<tx:annotation-driven proxy-target-class="true"/>

即可。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值