spring 事务 配置 多个
生活随笔
收集整理的這篇文章主要介紹了
spring 事务 配置 多个
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Spring中事務控制相關配置:<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean> <tx:advice id="txAdvice" transaction-manager="txManager"><tx:attributes><tx:method name="insert*" rollback-for="Exception"/><tx:method name="update*" rollback-for="Exception"/><tx:method name="delete*" rollback-for="Exception"/></tx:attributes></tx:advice><aop:config><aop:pointcut id="dbServiceOperation" expression="execution(* com.htt..*Service.*(..))"/><aop:advisor advice-ref="txAdvice" pointcut-ref="dbServiceOperation"/></aop:config>其中的“aop:pointcut”標簽中"expression"的寫法規則如下:execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)ret-type-pattern,name-pattern(param-pattern)是必須的.ret-type-pattern:標識方法的返回值,需要使用全路徑的類名如java.lang.String,也可以為*表示任何返回值;name-pattern:指定方法名,*代表所有,例如set*,代表以set開頭的所有方法.param-pattern:指定方法參數(聲明的類型),(..)代表所有參數,(*)代表一個參數,(*,String)代表第一個參數為任何值,第二個為String類型.表達式例子如下:任意公共方法的執行:execution(public * *(..))任何一個以“set”開始的方法的執行:execution(* set*(..))AccountService 接口的任意方法的執行:execution(* com.xyz.service.AccountService.*(..))定義在service包里的任意方法的執行:execution(* com.xyz.service.*.*(..))定義在service包和所有子包里的任意類的任意方法的執行:execution(* com.xyz.service..*.*(..))定義在pointcutexp包和所有子包里的JoinPointObjP2類的任意方法的執行:execution(* com.test.spring.aop.pointcutexp..JoinPointObjP2.*(..))")在多個表達式之間使用 ||,or表示 或,使用 &&,and表示 與,!表示 非.例如:<aop:config><aop:pointcut id="pointcut" expression="(execution(* com.ccboy.dao..*.find*(..))) or (execution(* com.ccboy.dao..*.query*(..)))"/><aop:advisor advice-ref="jdbcInterceptor" pointcut-ref="pointcut" /></aop:config>
?
轉載于:https://www.cnblogs.com/whm-blog/p/7154372.html
總結
以上是生活随笔為你收集整理的spring 事务 配置 多个的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黑马12期 day73-EasyUI笔
- 下一篇: 培训补坑(day1:最短路two-sat