Spring事务管理—aop:pointcut expression解析
先来看看这个spring的配置文件的配置:
<!-- 事务管理器 -->
<bean
>
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 配置事务的传播特性 -->
<tx:advice transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" propagation="REQUIRED" read-only="true" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<!-- 配置事务拦截器拦截哪些类的哪些方法,一般设置成拦截Service -->
<aop:config>
<aop:pointcut expression="execution(* com.xy.service.*.*(..))"
/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="allDaoMethod" />
</aop:config>
表示com.xy.service包下的所有方法为为事务管理。
execution(* com.aptech.jb.epet.dao.hibimpl.*.*(..))
这样写应该就可以了 这是com.aptech.jb.epet.dao.hibimpl 包下所有的类的所有方法。。
第一个*代表所有的返回值类型
第二个*代表所有的类
第三个*代表类所有方法 最后一个..代表所有的参数。
下面给出一些常见切入点表达式的例子:
-
任意公共方法的执行:
execution(public * *(..))
-
任何一个以“set”开始的方法的执行:
execution(* set*(..))
-
AccountService
接口的任意方法的执行:execution(* com.xyz.service.AccountService.*(..))
-
定义在service包里的任意方法的执行:
execution(* com.xyz.service.*.*(..))
-
定义在service包或者子包里的任意类的任意方法的执行:
execution(* com.xyz.service..*.*(..))
原帖地址:https://hane00.blog.163.com/blog/static/160061522011427473965/
最后更新:2017-04-02 15:15:33
上一篇:
Android开发10——Activity的跳转与传值_显示意图(intent)的应用
下一篇:
Android开发5——文件读写
C#中string的几种转换方法的异同——《读你必须知道的.net》
MySQL 中你应该使用什么数据类型表示时间?
分布式服务Dubbo从入门到"精通"之Schema实现
JS中window.open和window.opener的使用
HTAP数据库 PostgreSQL 场景与性能测试之 31 - (OLTP) 高吞吐数据进出(堆存、行扫、无需索引) - 阅后即焚(读写大吞吐并测)
java 响应式 企业网站 源码 SSM 生成静态化 手机 平板 PC
安全、稳定、数据0丢失 | 金融云迁移,袋鼠云解锁新姿势
智能预约功能可以提升经营效率和服务品质!
在jsp获取客户端的IP地址工具方法
大咖云集 精彩即将呈现 可信云金牌运维论坛等你来!