1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          propagation(Spring中propagation屬性的作用是什么)

          來源:互聯網轉載 時間:2024-05-01 12:16:01

          在Spring的事務管理中,我們可以使用@Transactional來對事務進行聲明式的設定。具體而言,就是在類或者方法前添加@Transactional并傳入屬性參數以獲取所需要的Transaction特性。Spring中的@Transactional有5個屬性:Propagation、Isolation、Rollback Rules、Timeout和Read-Only,其中Propagation屬性定義了Transaction的邊界 — 是否使用Transaction、在Transaction已存在的情況下如何表現等。

          在service類前加上@Transactional,聲明這個service所有方法需要事務管理。每一個業務方法開始時都會打開一個事務。

          Spring默認情況下會對運行期例外(RunTimeException)進行事務回滾。這個例外是unchecked,如果遇到checked意外就不回滾。

          如何改變默認規則:
          1 讓checked例外也回滾:在整個方法前加上 @Transactional(rollbackFor=Exception.class)
          2 讓unchecked例外不回滾: @Transactional(notRollbackFor=RunTimeException.class)
          3 不需要事務管理的(只查詢的)方法:@Transactional(propagation=Propagation.NOT_SUPPORTED)

          在整個方法運行前就不會開啟事務
          還可以加上:@Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true),這樣就做成一個只讀事務,可以提高效率。

          各種屬性的意義:
          REQUIRED:業務方法需要在一個容器里運行。如果方法運行時,已經處在一個事務中,那么加入到這個事務,否則自己新建一個新的事務。

          NOT_SUPPORTED:聲明方法不需要事務。如果方法沒有關聯到一個事務,容器不會為他開啟事務,如果方法在一個事務中被調用,該事務會被掛起,調用結束后,原先的事務會恢復執行。

          REQUIRESNEW:不管是否存在事務,該方法總匯為自己發起一個新的事務。如果方法已經運行在一個事務中,則原有事務掛起,新的事務被創建。

          MANDATORY:該方法只能在一個已經存在的事務中執行,業務方法不能發起自己的事務。如果在沒有事務的環境下被調用,容器拋出例外。

          SUPPORTS:該方法在某個事務范圍內被調用,則方法成為該事務的一部分。如果方法在該事務范圍外被調用,該方法就在沒有事務的環境下執行。

          NEVER:該方法絕對不能在事務范圍內執行。如果在就拋例外。只有該方法沒有關聯到任何事務,才正常執行。

          NESTED:如果一個活動的事務存在,則運行在一個嵌套的事務中。如果沒有活動事務,則按REQUIRED屬性執行。它使用了一個單獨的事務,這個事務擁有多個可以回滾的保存點。內部事務的回滾不會對外部事務造成影響。它只對DataSourceTransactionManager事務管理器起效。

          Propagation屬性outMethodinnerMethod
          Propagation.MANDATORY拋出異常在outMethod的Transaction中運行
          Propagation.NEVER不在Transaction中運行拋出異常
          Propagation.NOT_SUPPORTED不在Transaction中運行outMethod的Transaction暫停直至innerMethod執行完畢
          Propagation.REQUIRED (默認值)新開一個Transaction并在其中運行在outMethod的Transaction中運行
          Propagation.REQUIRES_NEW新開一個Transaction并在其中運行outMethod的Transaction暫停直至innerMethod中新開的Transaction執行完畢
          Propagation.SUPPORTS不在Transaction中運行在outMethod的Transaction中運行

          看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注本站行業資訊頻道,感謝您對本站的支持。

          標簽:propagation-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          什么是景氣指數?景氣指數又稱為景氣度,它是對企業景氣調查中的定性指標通過定量方法加工匯總,綜合反映某一特定調查群體或某一社會經濟現象所處的狀態或發展趨勢的一種指標。景氣指數以100為臨界值,范圍在0-200點之間,即景氣指數高于100,表明經濟狀態趨于上升或改善,處于景氣狀態;景氣指數低于100,表明經濟狀況處于下降或惡化,處于不景氣狀態。為了更好地反映不同規模企業(尤其是大型企業)在全市經濟份額...

          協定存款利率是協定存款的利息率,我國的協定存款利率由中國人民銀行確定并公布。協定存款是客戶按照規定與金融機構簽訂《協定存款合同》并約定存款額度開立的結算賬戶,賬戶中超過存款額度的部分,金融機構自動將其轉入協定賬戶,并以協定存款利率計息的一種企業存款。協定存款賬戶按季結息,屬于基本存款額度以內的存款,按結息日中國人民銀行公布的活期存款利率計息;超過基本存款額度的存款,按結息日中國人民銀行公布的協定存...

          農村信用社貸款要求:1、貸款人年齡在18-65周歲。有按期還本付息的能力。原應付貸款利息和到期貸款已基本清償;沒有清償的,已經作了貸款人認可的償還計劃。.2、農村在貸款社已開立基本賬戶或一般存款賬戶,并在該賬戶內保留有一定數額的支付保證金;自愿接受貸款社的信貸及結算的監督檢查,能夠保證定期向貸款社報送經營計劃和相關業務、財務報表。3、申請保證、抵押貸款的,必須具有符合規定的貸款保證人貸款抵押物或質...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>