javascript
SpringMvc 事务的注解配置、实现、挂起
1、事務(wù)的配置
Spring-MyBaties.XML配置
??? <!-- spring mvc 自動掃描注解的時候,不去掃描@Service -->
??? <context:component-scan base-package="com.spdbccc.manager">
??????? <!--將Controller的注解排除掉 -->
??????? <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
??? </context:component-scan>
??? <util:properties id="app" location="classpath:app-${env}.properties"/>
??? <bean id="dataSource_1" class="org.springframework.jndi.JndiObjectFactoryBean">
??????? <property name="jndiName" value="#{app.jndiName_member}"/>
??? </bean>
??? <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
??? <bean id="sqlSessionFactory_1" class="org.mybatis.spring.SqlSessionFactoryBean">
??????? <property name="dataSource" ref="dataSource_1"/>
??????? <property name="configLocation" value="classpath:spring/vazh_mybatis.xml"/>
??? </bean>
??? <!-- DAO接口所在包名,Spring會自動查找其下的類 -->
??? <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
??????? <property name="basePackage" value="com.spdbccc.manager.vazh.*.mapper"/>
??????? <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory_1"></property>
??? </bean>
???? <!--定義事務(wù)管理器-->
??? <bean name="transactionManager_1" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
??????? <property name="dataSource" ref="dataSource_1"></property>
??? </bean>
2、事務(wù)的使用
在需要實(shí)現(xiàn)事務(wù)的類聲明或方法聲明上加@Transactional注解
@Transactional( value = "transactionManager_1", readOnly = false, isolation = Isolation.DEFAULT, propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
3、事務(wù)的掛起
NOT_SUPPORTED:聲明方法不需要事務(wù)。如果方法沒有關(guān)聯(lián)到一個事務(wù),容器不會為它開啟事務(wù)。如果方法在一個事務(wù)中被調(diào)用,該事務(wù)會被掛起,在方法調(diào)用結(jié)束后,原先的事務(wù)便會恢復(fù)執(zhí)行。
例如 方法A支持事務(wù)
方法B不支持事務(wù)。
方法A調(diào)用方法B。
在方法A開始運(yùn)行時,系統(tǒng)為它建立Transaction,方法A中對于數(shù)據(jù)庫的處理操作,會在該Transaction的控制之下。
這時,方法A調(diào)用方法B,方法A打開的 Transaction將掛起,方法B中任何數(shù)據(jù)庫操作,都不在該Transaction的管理之下。
當(dāng)方法B返回,方法A繼續(xù)運(yùn)行,之前的Transaction回復(fù),后面的數(shù)據(jù)庫操作繼續(xù)在該Transaction的控制之下 提交或回滾。
轉(zhuǎn)載于:https://www.cnblogs.com/SunDigital/p/4785468.html
總結(jié)
以上是生活随笔為你收集整理的SpringMvc 事务的注解配置、实现、挂起的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (广搜)Dungeon Master -
- 下一篇: 在ubuntu系统荣品开发配套JDK安装