只須要在配置文件中將數據源配置事物,而後在方法中將其聲明成事物便可java
XML文件中配置:spring
<!-- 配置事務管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 啓用事務註解 --> <tx:annotation-driven transaction-manager="transactionManager"/>
事物註解:ui
@TransActional
便可將此方法聲明爲事物spa
事物的傳播行爲:@Transactional(propagation=required)code
經常使用的是required和required_new
事務
required:若是有事物在運行,當前的方法就在這個事物內運行,不然就啓動一個新的事物,並在本身的事物內運行(事物A下 有多個B事物,只要有一個B拋出異常則A事物失敗所有回滾)io
required_new :當前的方法必須啓動新的事物,並在他本身的事物內運行,若是有事物正在運行應該將他掛起(A下面有多個B事物,B運行則A掛起,某個B拋出異常,此B前面執行的不回滾)class