当前位置: 首页 > 知识库问答 >
问题:

通过AOP审核带注释类的所有公共方法

艾焱
2023-03-14

有可能通过AOP(使用Spring aop、aspectj等)审核用@Service或@Repository注释的类的所有公共方法,或者我认为是类级别而不是方法级别的注释?我想有这样的东西:

@Pointcut(value = "execution(public * *(..))")
public void anyPublicMethod() {} 

@Around("anyPublicMethod() && @annotation(Repository)")
public Object doLogTime(ProceedingJoinPoint joinPoint) throws Throwable {
    //do something
}

共有1个答案

花阳辉
2023-03-14

切入点应该是

execution(public * @my.package.Repository *.*(..))

这与隐含地相同

execution(public * (@my.package.Repository *).*(..))

P、 美国:问题的切入点实际上是指向由存储库注释的方法,这不是您想要的。

 类似资料:
  • 我需要处理从带有注释的类的公共方法中抛出的所有异常。我尝试使用Spring AOP。这是我的记录器: 是我的注释。 然后,我将注释添加到我的配置类中。 首先,我尝试注释一些引发异常的方法。它工作得很好,但是我如何才能使这种工作用于用注释注释的类中的所有公共方法呢?

  • 我有两节课 使用Spring AOP,我需要包装: 如果注释放在类级别上,则对使用注释的所有公共方法的所有调用 这是我的切入点 这适用于的公共方法,但是当我调用时,未包装如何包含父方法?

  • 我正在实现来传递和获取来自任何类或片段的数据,并且还订阅了一个方法来获取即时更改的数据...但是我收到了以下错误消息: 组织。绿色机器人。事件巴士。EventBusException:订阅者类java。Boolean及其超类没有带有@Subscribe注释的公共方法 我已经订阅了github在这里展示的方法 代码片段 我只发布了应用程序所需的代码,因为这里不需要其他代码 适配器 更新活动类 新错误

  • 我正在使用来控制的状态,但是我在执行过程中遇到了一个错误。 原因:org.greenrobot.eventbus.事件总线异常:订阅者类maa. Mainactive及其超类没有带有@Subcribe注释的公共方法 无线电经理。JAVA

  • 我正在尝试使用Byte-Buddy对类中的所有公共方法进行注释,并使用自定义注释进行注释。 我已经尝试使用此处注释中的代码:使用Byte Buddy在运行时添加方法注释 Java版本:1.8。该应用程序用于测试微服务。应用程序正在通过Spring Boot运行。我尝试在我的应用程序中为所有需要的方法添加注释,注释的值取决于方法名称。 工作方法: 在使用JUnit@BeforeAll注释进行所有测试

  • 问题内容: 我正在尝试定义一个切入点,该切入点将捕获用(ie)注释的每个方法。这是我自己的注释。 此外,我想访问该方法的第一个参数,该参数将是类型。也许还有其他争论,但我不在乎。 编辑 这就是我现在所拥有的。我不知道如何传递带有注释的方法的第一个参数。 问题答案: 这样的事情应该做: