spring+ibatis事务管理配置
生活随笔
收集整理的這篇文章主要介紹了
spring+ibatis事务管理配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<!-- 配置事務管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref bean="dataSource" /> </property> </bean> <!--配置哪些方法,什么情況下需要回滾-->? <tx:advice id="serviceAdvice" transaction-manager="transactionManager"> ? <tx:attributes> ?? <!--當代理的service層中的方法拋出異常的時候才回滾,必須加rollback-for參數-->? <tx:method name="insert*" propagation="REQUIRED" rollback-for="Throwable"/>? <tx:method name="del*" propagation="REQUIRED" rollback-for="Throwable"/> ? <tx:method name="update*" propagation="REQUIRED" rollback-for="Throwable"/> ? <!--除了上面標識的方法,其他方法全是只讀方法 --> <tx:method name="*" read-only="true"/> ? </tx:attributes> ? </tx:advice> ? <!-- 配置哪些類的方法需要進行事務管理 --> ? <aop:config proxy-target-class="true"> ? <aop:pointcut id="servicePointcut" expression="execution(* com.inspur.paas.*.*(..))"/> ? <aop:advisor pointcut-ref="servicePointcut" advice-ref="serviceAdvice"/> ? </aop:config> </beans>
pointcut execution的介紹:
執行表達式的格式如下:
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)除了返回類型模式(上面代碼片斷中的ret-type-pattern),名字模式和參數模式以外,所有的部分都是可選的。 返回類型模式決定了方法的返回類型必須依次匹配一個連接點。 你會使用的最頻繁的返回類型模式是?*?,它代表了匹配任意的返回類型。 一個全稱限定的類型名將只會匹配返回給定類型的方法。名字模式匹配的是方法名。 你可以使用?*?通配符作為所有或者部分命名模式。 參數模式稍微有點復雜:()?匹配了一個不接受任何參數的方法, 而?(..)?匹配了一個接受任意數量參數的方法(零或者更多)。 模式?(*)?匹配了一個接受一個任何類型的參數的方法。 模式?(*,String)?匹配了一個接受兩個參數的方法,第一個可以是任意類型,第二個則必須是String類型。
下面給出一些常見切入點表達式的例子。
任意公共方法的執行:
execution(public * *(..))任何一個以“set”開始的方法的執行:
execution(* set*(..))AccountService?接口的任意方法的執行:
execution(* com.xyz.service.AccountService.*(..))定義在service包里的任意方法的執行:
execution(* com.xyz.service.*.*(..))定義在service包或者子包里的任意方法的執行:
execution(* com.xyz.service..*.*(..)) 另: 引用類型是<ref local="dataSource" /> ???local ?表示只在本文件中找bean 改成<ref bean="dataSource" /> ?之后,表示在所有文件中找bean。 需要引入aspectjweaver.jar轉載于:https://www.cnblogs.com/doudouxiaoye/p/5682974.html
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的spring+ibatis事务管理配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 100分程序员的8个习惯
- 下一篇: Cordova由来