spring boot切面execution表達(dá)式添加多個包路徑問題及解決方案
更新時間:2024年03月29日 09:51:14 作者:濤哥是個大帥比
在Spring Boot中,如果你想為多個包中的方法創(chuàng)建一個切面,你可以在@Pointcut注解中使用||操作符來指定多個包,下面給大家分享spring boot切面execution表達(dá)式添加多個包路徑問題及解決方案,感興趣的朋友跟隨小編一起看看吧
問題描述
在Spring Boot中,如果你想為多個包中的方法創(chuàng)建一個切面,你可以在@Pointcut注解中使用||操作符來指定多個包。
解決方案:
// 定義切入點為兩個包中的任意方法 @Pointcut("execution(* com.example.package1..*.*(..)) || execution(* com.example.package2..*.*(..))") public void myPointcut() { }
排除某個接口
// 定義切點,包括所有接口的方法,除了login接口 @Pointcut("execution(* com.example.package1..*.*(..)) && !execution(* com.example.controller.testController.login(..))") public void myPointcut() { }
整個表達(dá)式可以分為五個部分:
- execution(): 表達(dá)式主體,可以掃描控制層的接口、某個注解、或者其他需要掃描的類。
- 第一個*號:表示返回類型,*號表示所有的類型,比如public,protect,private等。
- 包名:表示需要攔截的包名,后面的兩個句點表示當(dāng)前包和當(dāng)前包的所有子包,com.demo.service.impl包、子孫包下所有類的方法。
- 第二個*號:表示子包名,*號表示所有子包。
- 第三個*號:表示類名,*號表示所有子包下的類。
- *(..):最后這個星號表示方法名,*號表示所有的方法,后面括弧里面表示方法的參數(shù),兩個句點表示任何參數(shù)。
到此這篇關(guān)于spring boot切面execution表達(dá)式添加多個包路徑的文章就介紹到這了,更多相關(guān)spring boot切面execution表達(dá)式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis傳遞多個參數(shù)的三種實現(xiàn)方法
這篇文章主要介紹了Mybatis傳遞多個參數(shù)的三種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04Java8新特性之空指針異常的克星Optional類的實現(xiàn)
這篇文章主要介紹了Java8新特性之空指針異常的克星Optional類的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10使用自定義參數(shù)解析器同一個參數(shù)支持多種Content-Type
這篇文章主要介紹了使用自定義參數(shù)解析器同一個參數(shù)支持多種Content-Type的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08