溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Spring中怎么使用注解聲明事務(wù)

發(fā)布時(shí)間:2021-07-30 16:21:38 來源:億速云 閱讀:154 作者:Leah 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)Spring中怎么使用注解聲明事務(wù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識(shí)有一定的了解。

@Transactional注解的具體使用。

Spring中怎么使用注解聲明事務(wù)

因?yàn)锧Transactional注解有默認(rèn)的事務(wù)屬性,所以只需要添加上述注解即可完成對事務(wù)的管理。但有一個(gè)問題我們要注意,就是雖然上述注解有默認(rèn)事務(wù)功能,但是我們知道,事務(wù)的注解底層是通過AOP的方式實(shí)現(xiàn)事務(wù)管理的,所以我們還需要的配置spring中的xml,使之讓spring支持對@Transactional注解的支持。具體配置如下:

Spring中怎么使用注解聲明事務(wù)

上述配置是最簡單的配置,實(shí)際上<tx:annotation-driven>標(biāo)簽還有別外兩個(gè)屬性,下面我們看一下這兩個(gè)屬性的具體功能。

Spring中怎么使用注解聲明事務(wù)

下面我們看一下@Transactional注解的相關(guān)默認(rèn)屬性都有哪些。

  • 事務(wù)傳播行為--:PROPAGATION_REQUIRED

  • 事務(wù)隔離級別--:ISOLATION_DEFAULT

  • 讀寫事務(wù)屬性--:讀/寫事務(wù)

  • 超時(shí)時(shí)間--:依賴底層的事務(wù)屬性默認(rèn)值

  • 回滾設(shè)置--:運(yùn)行期異?;貪L

上述介紹的是@Transactional注解的默認(rèn)設(shè)置,雖然很常用,但不一定能滿足我們所有的需求,所以,spring還提供我們手動(dòng)設(shè)置上述默認(rèn)注解的功能。具體的配置如下:

下面我們介紹一下@Transactional注解的注意事項(xiàng)

  • @Transactional注解可以被應(yīng)用于接口定義接口方法、類定義、和類的public方法上。但spring建議我們將@Transactional注解最好標(biāo)注在業(yè)務(wù)類的上。這是因?yàn)樽⒔獠荒鼙焕^承,所以,如果我們將@Transactional注解標(biāo)注在接口上時(shí),那么它的子類由于無法繼承,所以,此時(shí)的子類,spring是不會(huì)進(jìn)行事務(wù)管理的。

  • 如果一個(gè)類已經(jīng)使用了@Transactional注解,這時(shí)spring就會(huì)將這個(gè)類中所有的public方法上都添加事務(wù)管理,如果我們此時(shí)又在public方法上添加的方法級別的@Transactional注解,那么spring默認(rèn)會(huì)用方法的注解覆蓋類上面的@Transactional注解。

關(guān)于Spring中怎么使用注解聲明事務(wù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI