Spring基礎:宣告式事務
阿新 • • 發佈:2020-11-06
Spring中的事務管理
宣告式事務:AOP,程式碼是橫切進去的不會影響主流程式碼的縱向執行(注意:程式是縱向執行的,AOP是橫切的)
程式設計式事務:需要在程式碼中,進行事務的管理(與try catch方法相似,程式執行成功就繼續,失敗,則進行資源回滾),縱向的
配置宣告式事務(AOP的思想)
不影響縱向的主流業務程式執行,在橫切面上新增宣告式事務,實現spring整合mybatis這件事
<!--配置宣告式事務--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!--結合AOP實現事務織入--> <!--配置事務通知:--> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <!--給那些方法配置事務--> <!--配置事務的傳播特性:new propagation--> <tx:attributes> <tx:method name="add" propagation="REQUIRED"/> <tx:method name="delete"/> <tx:method name="update"/> <tx:method name="select"/>
<!——代表所有方法都支援事務——> <tx:method name="*"/> </tx:attributes> </tx:advice>
配置切入點
<!--配置事務切面--> <aop:config> <aop:pointcut id="txPrnitCut" expression="execution(* com.king.mapper.*.*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPrnitCut"/> </aop:config>
小結:配置宣告式事務的配置依然是AOP,採用環繞通知的方式,將配置好的宣告式事務加到主流程式中,實現事務特性