詳解Spring學(xué)習(xí)之編程式事務(wù)管理-創(chuàng)新互聯(lián)

前言

創(chuàng)新互聯(lián)公司長(zhǎng)期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為雙牌企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站,雙牌網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

在前面的內(nèi)容,基本已經(jīng)學(xué)習(xí)了事務(wù)的基本概念以及事務(wù)隔離級(jí)別等,接下來(lái)的幾個(gè)小節(jié),將學(xué)習(xí)怎么使用Spring進(jìn)行事務(wù)管理,在Spring中,對(duì)事務(wù)進(jìn)行管理有多種方法,主要分別編程式和聲明式,本小節(jié)主要學(xué)習(xí)編程式事務(wù)管理,后面講學(xué)習(xí)Spring的聲明式事務(wù)管理

編程式事務(wù)管理

所謂的編程式事務(wù)管理,其實(shí)就是通過(guò)編寫代碼的方式來(lái)進(jìn)行事務(wù)管理,也就是通過(guò)將事務(wù)管理的代碼硬編碼在代碼中從而達(dá)到事務(wù)管理的作用,不過(guò)Spring的事務(wù)管理不同于JDBC原始的事務(wù)管理,在JDBC中,對(duì)事務(wù)進(jìn)行管理首先要關(guān)閉自動(dòng)提交,然后采用手動(dòng)配置的方式來(lái)控制提交以及異常時(shí)回滾,而在Spring中,主要是使用Spring的接口來(lái)管理,具體如下代碼所示

這里模擬銀行轉(zhuǎn)賬的業(yè)務(wù),正如我們所知道的,轉(zhuǎn)賬其實(shí)就是從一個(gè)賬號(hào)減去金額并且給另外一個(gè)賬號(hào)增加對(duì)應(yīng)的金額

Spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

   <!--開啟自動(dòng)掃描-->
  <context:component-scan base-package="cn.xuhuanfeng.transaction"/>

  <!--配置數(shù)據(jù)源,這里采用dbcp-->
  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="url" value="jdbc:mysql://localhost:3306/spring"/>
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="username" value="root"/>
    <property name="password" value="huanfeng"/>
  </bean>

  <!--配置JdbcTemplate-->
  <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <!--注入數(shù)據(jù)源-->
    <property name="dataSource" ref="dataSource"/>
  </bean>

  <!--配置事務(wù)管理-->
  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <!--注入數(shù)據(jù)源-->
    <property name="dataSource" ref="dataSource"/>
  </bean>
  <!--配置事務(wù)管理操作類-->
  <bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
    <!--注入事務(wù)管理-->
    <property name="transactionManager" ref="transactionManager"/>
    <!--定義事務(wù)隔離級(jí)別,這里-1代表默認(rèn)-->
    <property name="isolationLevel" value="-1"/>
    <!--配置傳播行為,0代表PROPAGATION_REQUIRED-->
    <property name="propagationBehavior" value="0"/>
    <!--由于進(jìn)行讀寫操作,所以這里的只讀設(shè)置為false,默認(rèn)也是false,所以可以不用設(shè)置-->
    <property name="readOnly" value="false"/>
  </bean>
</beans>

本文名稱:詳解Spring學(xué)習(xí)之編程式事務(wù)管理-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://muchs.cn/article6/ceohog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、虛擬主機(jī)建站公司、商城網(wǎng)站、搜索引擎優(yōu)化外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站