中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

springboot~Transactional注解的(de)注意事項

@Transactional注解(jie)是為方(fang)法添(tian)加(jia)事(shi)務塊的(de)意(yi)思,使用aop的(de)技術動態為方(fang)法添(tian)加(jia)事(shi)務范圍,在使用它時可以(yi)在類或者方(fang)法上(shang)添(tian)加(jia),但在類上(shang)添(tian)加(jia)時需要注意(yi)一下(xia)影響的(de)范圍。

類中添加Transactional

相(xiang)當于你(ni)的每(mei)個公共的方(fang)法(fa)都會被迫加上事(shi)務,這(zhe)并不是一(yi)件好事(shi),所以不建議這(zhe)樣干(gan)。

攔截器里調用的Bean

在http的攔截器里,調用了一個類,這個類是個bean,而它被添加了Transactional注解,這相當于(yu),你以后的每個(ge)HTTP請求(qiu)都會被(bei)加上(shang)事(shi)務,這是(shi)很要(yao)命的,因(yin)為(wei)那些單表(biao)操(cao)作是(shi)不需要(yao)添(tian)加事(shi)務的。

事物傳播行為介紹

  1. @Transactional(propagation=Propagation.REQUIRED) :如果有事務, 那么加入事務, 沒有的話新建一個(默認情況下)
  2. @Transactional(propagation=Propagation.NOT_SUPPORTED) :容器不為這個方法開啟事務
  3. @Transactional(propagation=Propagation.REQUIRES_NEW) :不管是否存在事務,都創建一個新的事務,原來的掛起,新的執行完畢,繼續執行老的事務
  4. @Transactional(propagation=Propagation.MANDATORY) :必須在一個已有的事務中執行,否則拋出異常
  5. @Transactional(propagation=Propagation.NEVER) :必須在一個沒有的事務中執行,否則拋出異常(與Propagation.MANDATORY相反)
  6. @Transactional(propagation=Propagation.SUPPORTS) :如果其他bean調用這個方法,在其他bean中聲明事務,那就用事務.如果其他bean沒有聲明事務,那就不用事務.

事務隔離級別

  1. @Transactional(isolation = Isolation.READ_UNCOMMITTED):讀取未提交數據(會出現臟讀, 不可重復讀) 基本不使用
  2. @Transactional(isolation = Isolation.READ_COMMITTED):讀取已提交數據(會出現不可重復讀和幻讀)
  3. @Transactional(isolation = Isolation.REPEATABLE_READ):可重復讀(會出現幻讀)
  4. @Transactional(isolation = Isolation.SERIALIZABLE):串行化

完畢(bi),對bean的事務塊使用大家要格外注意。

posted @ 2019-12-26 14:28  張占嶺  閱讀(1220)  評論(0)    收藏  舉報