關於Springboot註解聲明事務切面優先級的小測試

咱們都知道,SpringBoot數據庫事務是基於切面實現的,咱們常常在自定義切面實現一些數據庫操做,這些操做受不受Spring事務管理勒,怎麼控制咱們本身切面和事務切面的優先級關係,我作了些測試。數據庫

前提:事務和切面的實現都採起註解實現,這也是咱們當前最經常使用的。測試

就不貼測試過程了,有點弱。測試結論以下:事務

  • @Order用於定義切面類優先級,order的value爲Int,其值越低,越先執行,越後出來。
  • @Order默認值爲2147483647,不加@Order的切面其值能夠理解爲也爲2147483647(int類型最大值)。
  • 事務切面的優先級能夠理解爲就是2147483647,可是事務的優先級在order爲2147483647中優先級最高的。

結論:要想自定義切面在事務裏運行,不加@Order就行了,若是想在外面執行,加上order註解並隨意指定一個值只要小於2147483647就行了。數據

相關文章
相關標籤/搜索