现在我用的是这种配置方式:
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如何指定呢?
急求高手!!!
目标类需要放置在配置中指明的地方。expression那后面就是需要添加事务的地方。(我也是刚开始学不一定正确,望见谅)
<aop:pointcutid="txPointcut"expression="execution(* com.bluesky.service.Service.(..))"/>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。