首页 文章

spring aspectj切入点可重用的类

提问于
浏览
0

https://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html#aop-common-pointcuts所述

是否有可能创建一个定义所有切入点的独立类并在其他方面使用它,以便我们应该能够重用切入点?

如果我使用该类的切入点,我会收到一个错误:

Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut inServiceLayer
    at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:301)
    at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:207)
    at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:193)
    at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:170)
    at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:194)
    at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:248)

但是,如果我在现有方面中包含该方法,它可以正常工作 .

谢谢,

2 回答

  • 0

    这就是示例所显示的内容 .

    SystemArchitecture类定义了许多切入点,其他类BeforeExample,AfterReturningExample,...定义了建议,在其注释中引用了SystemArchitecture切入点 .

    所有这些类都使用@Aspect注释 .

  • 0

    这完全是我的错,我没有定义完全限定的方法名称,包括包和类名 .

相关问题