AspectJ - 除一个包外的所有类的切点
创始人
2024-09-20 02:00:48
0

要在AspectJ中创建一个切点,只匹配一个包以外的所有类,可以使用withincode!操作符来实现。下面是一个示例代码:

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;

@Aspect
public class MyAspect {
    @Pointcut("withincode(* com.example..*.*(..)) && !withincode(* com.example.package.*.*(..))")
    public void myPointcut() {}
    
    // 添加其他切面逻辑
    
    // 在需要使用切点的地方,引用 myPointcut() 方法即可
}

在上述代码中,withincode指示AspectJ匹配在某个方法的内部执行的代码。com.example..*.*(..)表示匹配com.example包及其子包中的所有类和方法。!withincode(* com.example.package.*.*(..))则通过!操作符来排除com.example.package包中的类和方法。

要使用切点,请在需要的地方引用myPointcut()方法。例如,可以在通知注解(如@Before、@After)中使用切点:

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class MyAspect {
    @Before("com.example.aspect.MyAspect.myPointcut()")
    public void beforeAdvice() {
        System.out.println("Before advice executed!");
    }
}

通过这种方式,切点myPointcut()将只匹配除com.example.package包以外的所有类和方法。

相关内容

热门资讯

围绕透视问题!山西扣点点app... 围绕透视问题!山西扣点点app技巧(辅助挂)果然是有挂(有挂法门)-哔哩哔哩【无需打开直接搜索加薇1...
第一分钟开挂!陕麻圈内购破解辅... 第一分钟开挂!陕麻圈内购破解辅助,老友广东辅助器,规律教程-2026最新版本1、玩家可以在陕麻圈内购...
备受关注的!山西扣点点辅助挂定... 山西扣点点辅助挂定制交易平台开挂教程视频分享装挂详细步骤在当今的网络游戏中,山西扣点点辅助挂定制交易...
第五分钟开挂!随意玩聚乐部辅助... 第五分钟开挂!随意玩聚乐部辅助,中至江西插件,揭秘攻略-2026最新版本1.随意玩聚乐部辅助 ai辅...
据通报!广东闲来辅助免费(辅助... 您好:广东闲来辅助免费这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
1分钟开挂!聚友联盟免费辅助器... 1分钟开挂!聚友联盟免费辅助器,老夫子拼十辅助,必备教程-2026最新版本1、聚友联盟免费辅助器ai...
现有说明如下!闲逸碰胡辅助软件... 现有说明如下!闲逸碰胡辅助软件(辅助挂)其实有挂(有挂举措)-哔哩哔哩;无需打开直接搜索加(薇:13...
2分钟开挂!微乐小程序辅助器出... 2分钟开挂!微乐小程序辅助器出租,佛手在线大菠萝辅助,揭秘教程-2026最新版本1、完成微乐小程序辅...
目前来看!金虎爷辅助(辅助挂)... 您好:金虎爷辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好...
7分钟开挂!乐乐川南字牌辅助器... 7分钟开挂!乐乐川南字牌辅助器,川友汇辅助软件,切实教程-2026最新版本1、玩家可以在乐乐川南字牌...