在线等!!AOP事务配置问题! : 配置报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

在线等!!AOP事务配置问题! : 配置报错 

kun坤 2020-06-03 16:36:54 41

现在我用的是这种配置方式:
applicationContext.xml中AOP配置为:

<bean id="Log" class="simple.system.simpleweb.Log.MyLog"></bean> <aop:config> <aop:aspect id="b" ref="Log"> <aop:pointcut id="log" expression="execution(* simple.system.simpleweb.service...(..))"/> <aop:before pointcut-ref="log" method="before" /> <aop:after pointcut-ref="log" method="after" /> </aop:aspect> </aop:config>

这种配置方法可以正常运行但是,自定义方法里面不能有事务,数据库增删改操作不执行。

请问这种方法配置下怎么加入事务配置?

我网上搜索AOP事务配置

基本都是这种配法:

<!-- 事务管理 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

<!-- 事务通知 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" read-only="true"/>
<tx:method name="*" propagation="REQUIRES_NEW" rollback-for="Exception"/>
<!-- REQUIRES_NEW 的含义:不管怎样都新建一个事务,如果有事务,原来事务挂起 -->
</tx:attributes>
</tx:advice>

<!-- aop代理设置 -->
<aop:config proxy-target-class="true">
<aop:pointcut id="txPointcut" expression="execution(* com.bluesky.service.Service.(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut" />

</aop:config>

如果上面一种方法无法添加事务,非要用这种方法配置,那么我的目标类MyLog.java如何指定呢?
急求高手!!!

分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-06-05 13:22:29

    目标类需要放置在配置中指明的地方。expression那后面就是需要添加事务的地方。(我也是刚开始学不一定正确,望见谅)
    <aop:pointcutid="txPointcut"expression="execution(* com.bluesky.service.Service.(..))"/>      

    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章