最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用@Order控制配置類/AOP/方法/字段的加載順序詳解

 更新時(shí)間:2022年02月14日 11:23:53   作者:公瑾子敬  
這篇文章主要介紹了使用@Order控制配置類/AOP/方法/字段的加載順序詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Order控制配置類/AOP/方法/字段的加載順序

1.AOP加載順序

? ? @Component
? ? @Aspect
? ? @Order(1)
? ? public class Aspect1 {
?? ??? ?...
?? ??? ?System.out.println("aop-1 加載了");
?? ?}
? ? @Component
? ? @Aspect
? ? @Order(2)
? ? public class Aspect2 {
?? ??? ?...
?? ??? ?System.out.println("aop-2 加載了");
?? ?}

執(zhí)行順序: 

  • aop-1 加載了
  • aop-2 加載了

2.配置類加載順序

@Configuration
@Order(1)
public class DemoConfig1 {
? ? @Bean
? ? public Demo1Service demo1Service(){
? ? ? ? System.out.println("config-1 加載了");
? ? ? ? return new Demo1Service();
? ? }
}
@Configuration
@Order(2)
public class DemoConfig2 {
? ? @Bean
? ? public Demo2Service demo2Service(){
? ? ? ? System.out.println("config-2 加載了");
? ? ? ? return new Demo2Service();
? ? }
}

執(zhí)行順序: 

  • config-1 加載了
  • config-2 加載了

tips:

Integer.MIN_VALUE <= Order <= Integer.MAX_VALUE

Order值越小,優(yōu)先級(jí)越高!

@Order的作用范圍:

ElementType.TYPE, ElementType.METHOD, ElementType.FIELD

@Order使用與Aop多切面執(zhí)行順序

@Order:設(shè)置該類在spring容器中的加載順序, 越小越早優(yōu)先加載

多個(gè)Aop是可以切同一點(diǎn)的, 比如, 想把@ApiOperation(Swag注解的)地方再自定義增強(qiáng)一下, 比如 持久化一行操作日志到數(shù)據(jù)庫(kù), 那就可以自定義一個(gè)注解, 切同一個(gè)位置, 干你自己想干的事.

那多個(gè)Aop的優(yōu)先順序(默認(rèn)按切面工具類的名稱首字母a-z執(zhí)行順序, 也就是spring默認(rèn)的加載順序), 可以使用@order自己定義順序,

值得注意的是:

  • 環(huán)繞前置(即point.proceed()前面的代碼)
  • 環(huán)繞后置(即point.proceed()后面的代碼)
try{  
     try{  
         doBefore();//對(duì)應(yīng)@Before注解的方法切面邏輯  
         method.invoke();  
     }finally{  
         doAfter();//對(duì)應(yīng)@After注解的方法切面邏輯  
     }  
     doAfterReturning();//對(duì)應(yīng)@AfterReturning注解的方法切面邏輯 
     //在 
 }catch(Exception e){  
      doAfterThrowing();//對(duì)應(yīng)@AfterThrowing注解的方法切面邏輯  
 } 

另外, 如果情況是允許耦合的, 可以創(chuàng)建新注解繼承原注解, 或這繼承多個(gè)原注解, 這樣就自定義擴(kuò)展并組合注解了

todo:@AfterReturning的使用

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java List 排序之冒泡排序?qū)嵗a

    java List 排序之冒泡排序?qū)嵗a

    這篇文章主要介紹了java List 排序之冒泡排序?qū)嵗a的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • IntelliJ IDEA 構(gòu)建maven多模塊工程項(xiàng)目(詳細(xì)多圖)

    IntelliJ IDEA 構(gòu)建maven多模塊工程項(xiàng)目(詳細(xì)多圖)

    這篇文章主要介紹了IntelliJ IDEA 構(gòu)建maven多模塊工程項(xiàng)目(詳細(xì)多圖),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • nacos服務(wù)注冊(cè)命名空間指定方式

    nacos服務(wù)注冊(cè)命名空間指定方式

    文章介紹了Nacos服務(wù)注冊(cè)命名空間的用途,以及如何創(chuàng)建和指定命名空間,命名空間用于隔離不同項(xiàng)目的服務(wù)和配置,避免沖突,通過(guò)在配置文件中指定命名空間ID,服務(wù)會(huì)注冊(cè)到相應(yīng)的命名空間中,這樣可以更好地管理不同環(huán)境下的配置文件
    2024-12-12
  • java高效讀大文件(csv,text)的幾種處理方式

    java高效讀大文件(csv,text)的幾種處理方式

    這篇文章主要給大家介紹了關(guān)于java高效讀大文件(csv,text)的幾種處理方式,Java中處理大文件時(shí),通常需要采取一些特定的策略來(lái)避免內(nèi)存溢出或性能問(wèn)題,文中通過(guò)代碼及圖片介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • java String.split 無(wú)法使用小數(shù)點(diǎn)分割的問(wèn)題

    java String.split 無(wú)法使用小數(shù)點(diǎn)分割的問(wèn)題

    這篇文章主要介紹了java String.split 無(wú)法使用小數(shù)點(diǎn)分割的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 深入了解Java中Synchronized的各種使用方法

    深入了解Java中Synchronized的各種使用方法

    在Java當(dāng)中synchronized關(guān)鍵字通常是用來(lái)標(biāo)記一個(gè)方法或者代碼塊。本文將通過(guò)示例為大家詳細(xì)介紹一下Synchronized的各種使用方法,需要的可以參考一下
    2022-08-08
  • 詳解spring與shiro集成

    詳解spring與shiro集成

    這篇文章主要介紹了詳解spring與shiro集成,需要的朋友可以參考下
    2017-09-09
  • MyBatis insert語(yǔ)句返回主鍵和selectKey標(biāo)簽方式

    MyBatis insert語(yǔ)句返回主鍵和selectKey標(biāo)簽方式

    這篇文章主要介紹了MyBatis insert語(yǔ)句返回主鍵和selectKey標(biāo)簽方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java實(shí)現(xiàn)公用實(shí)體類轉(zhuǎn)Tree結(jié)構(gòu)

    Java實(shí)現(xiàn)公用實(shí)體類轉(zhuǎn)Tree結(jié)構(gòu)

    這篇文章主要為大家介紹了一個(gè)Java工具類,可以實(shí)現(xiàn)Java公用實(shí)體類轉(zhuǎn)Tree結(jié)構(gòu),文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以參考一下
    2024-10-10
  • SpringBoot集成Tomcat服務(wù)架構(gòu)配置

    SpringBoot集成Tomcat服務(wù)架構(gòu)配置

    這篇文章主要為大家介紹了SpringBoot集成Tomcat服務(wù)架構(gòu)配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評(píng)論

友谊县| 安吉县| 鹤峰县| 霍山县| 扬州市| 张家界市| 嘉黎县| 兴文县| 来宾市| 确山县| 林周县| 龙陵县| 瓮安县| 肇庆市| 庆元县| 定兴县| 武功县| 元氏县| 合水县| 榆中县| 左贡县| 莱西市| 大丰市| 岚皋县| 海阳市| 马公市| 日照市| 博客| 商水县| 宁蒗| 修武县| 土默特右旗| 伽师县| 招远市| 罗甸县| 抚远县| 垫江县| 黔南| 龙江县| 三门峡市| 广南县|