spring boot切面execution表達(dá)式添加多個(gè)包路徑問題及解決方案
問題描述
在Spring Boot中,如果你想為多個(gè)包中的方法創(chuàng)建一個(gè)切面,你可以在@Pointcut注解中使用||操作符來(lái)指定多個(gè)包。
解決方案:
// 定義切入點(diǎn)為兩個(gè)包中的任意方法
@Pointcut("execution(* com.example.package1..*.*(..)) || execution(* com.example.package2..*.*(..))")
public void myPointcut() {
}排除某個(gè)接口
// 定義切點(diǎn),包括所有接口的方法,除了login接口
@Pointcut("execution(* com.example.package1..*.*(..)) && !execution(* com.example.controller.testController.login(..))")
public void myPointcut() {
}整個(gè)表達(dá)式可以分為五個(gè)部分:
- execution(): 表達(dá)式主體,可以掃描控制層的接口、某個(gè)注解、或者其他需要掃描的類。
- 第一個(gè)*號(hào):表示返回類型,*號(hào)表示所有的類型,比如public,protect,private等。
- 包名:表示需要攔截的包名,后面的兩個(gè)句點(diǎn)表示當(dāng)前包和當(dāng)前包的所有子包,com.demo.service.impl包、子孫包下所有類的方法。
- 第二個(gè)*號(hào):表示子包名,*號(hào)表示所有子包。
- 第三個(gè)*號(hào):表示類名,*號(hào)表示所有子包下的類。
- *(..):最后這個(gè)星號(hào)表示方法名,*號(hào)表示所有的方法,后面括弧里面表示方法的參數(shù),兩個(gè)句點(diǎn)表示任何參數(shù)。
到此這篇關(guān)于spring boot切面execution表達(dá)式添加多個(gè)包路徑的文章就介紹到這了,更多相關(guān)spring boot切面execution表達(dá)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何在SpringBoot項(xiàng)目中使用Oracle11g數(shù)據(jù)庫(kù)
這篇文章主要介紹了在SpringBoot項(xiàng)目中使用Oracle11g數(shù)據(jù)庫(kù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
SpringDataElasticsearch與SpEL表達(dá)式實(shí)現(xiàn)ES動(dòng)態(tài)索引
這篇文章主要介紹了SpringDataElasticsearch與SpEL表達(dá)式實(shí)現(xiàn)ES動(dòng)態(tài)索引,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09
基于springboot redirect重定向路徑問題總結(jié)
這篇文章主要介紹了springboot redirect重定向路徑問題總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
詳解SpringBoot如何優(yōu)雅的進(jìn)行全局異常處理
在SpringBoot的開發(fā)中,為了提高程序運(yùn)行的魯棒性,我們經(jīng)常需要對(duì)各種程序異常進(jìn)行處理,但是如果在每個(gè)出異常的地方進(jìn)行單獨(dú)處理的話,這會(huì)引入大量業(yè)務(wù)不相關(guān)的異常處理代碼,這篇文章帶大家了解一下如何優(yōu)雅的進(jìn)行全局異常處理2023-07-07
java理論基礎(chǔ)Stream管道流狀態(tài)與并行操作
這篇文章主要為大家介紹了java理論基礎(chǔ)Stream管道流狀態(tài)與并行操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
java URL 獲取PHP JSON 數(shù)據(jù)
這篇文章主要介紹了java URL 獲取PHP JSON 數(shù)據(jù),需要的朋友可以參考下2016-04-04
Java 異步線程監(jiān)聽與結(jié)果回調(diào)及異常捕獲總結(jié)分析
異常是程序之中導(dǎo)致程序中斷的一種指令流,異常一旦出現(xiàn)并且沒有進(jìn)行合理處理的話,那么程序就將中斷執(zhí)行,這篇文章綜合介紹了異步線程監(jiān)聽與結(jié)果回調(diào)及異常捕獲2021-11-11

