AOP切入点表达式 ——within表达式 、execution()表达式
支持切點(diǎn)標(biāo)識(shí)符
Spring AOP支持使用以下AspectJ切點(diǎn)標(biāo)識(shí)符(PCD),用于切點(diǎn)表達(dá)式:
- execution: 用于匹配方法執(zhí)行連接點(diǎn)。 這是使用Spring AOP時(shí)使用的主要切點(diǎn)標(biāo)識(shí)符。 可以匹配到方法級(jí)別 ,細(xì)粒度
- within: 只能匹配類這級(jí),只能指定類, 類下面的某個(gè)具體的方法無法指定, 粗粒度
- this: 匹配實(shí)現(xiàn)了某個(gè)接口:this(com.xyz.service.AccountService)
- target: 限制匹配到連接點(diǎn)(使用Spring AOP時(shí)方法的執(zhí)行),其中目標(biāo)對(duì)象(正在代理的應(yīng)用程序?qū)ο?#xff09;是給定類型的實(shí)例。
- args: 限制與連接點(diǎn)的匹配(使用Spring AOP時(shí)方法的執(zhí)行),其中變量是給定類型的實(shí)例。 AOP) where the arguments are instances of the given types.
- @target: 限制與連接點(diǎn)的匹配(使用Spring AOP時(shí)方法的執(zhí)行),其中執(zhí)行對(duì)象的類具有給定類型的注解。
- @args: 限制匹配連接點(diǎn)(使用Spring AOP時(shí)方法的執(zhí)行),其中傳遞的實(shí)際參數(shù)的運(yùn)行時(shí)類型具有給定類型的注解。
- @within: 限制與具有給定注解的類型中的連接點(diǎn)匹配(使用Spring AOP時(shí)在具有給定注解的類型中聲明的方法的執(zhí)行)。
- @annotation:限制匹配連接點(diǎn)(在Spring AOP中執(zhí)行的方法具有給定的注解)。
?
訪問修飾符:可不寫 可以匹配任何一個(gè)訪問修飾符
返回值:如果是jdk自帶類型可以不用寫完整限定名,如果是自定義類型需要寫上完整限定名,如果被切入的方法返回值不一樣可以使用* 代表所有的方法值都能匹配
包名:cn.* == cn.dym == cn.任意名字 但是只能匹配一級(jí) 比如 cn.dym.service就無法匹配
如果要cn.dym.service ==>cn.dym.service , cn.dym.* ==>cn.dym.service.impl就無法匹配
cn.dym..* ==>cn.dym.service.impl 可以匹配
?
類名: 可以寫*,代表任何名字的類名。 也可以模糊匹配 *ServiceImpl==> UserServiceImpl ==>RoleServiceImpl
方法名:可以寫*,代表任何方法。 也可以模糊匹配 *add==> useradd ==>roleadd
參數(shù):如果是jdk自帶類型可以不用寫完整限定名,如果是自定義類型需要寫上完整限定名。 如果需要匹配任意參數(shù) 可以寫:..
總結(jié)
以上是生活随笔為你收集整理的AOP切入点表达式 ——within表达式 、execution()表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AOP的相关代理
- 下一篇: Nacos注册中心——启动相关的配置