gpt4 book ai didi

java - 如何正确使用Spring AOP来选择执行带有特定注解的方法?

转载 作者:行者123 更新时间:2023-12-02 04:46:04 27 4
gpt4 key购买 nike

我正在学习 Spring AOP,并且我对我的学习 Material 中发现的一个问题有以下疑问。

因此请考虑以下切入点:execution(@com.myapp.MyCustomAnnotation void *(..))。到底是什么意思?

它给了我以下答案,在我看来有点奇怪(使用我对 AOP 工作原理的知识)。它说:

This will select joint points representing voiud method that are annotated by @com.myapp.MyCustomAnnotation annotation.

好的,那么使用 AOP 我可以指定何时执行带有特定注释的特定方法,这意味着什么?这是正确的还是我错过了什么?

因此,如果前面的断言是正确的,则意味着(例如)我还可以指定类似以下内容:“当执行由 @RequestMapping("/listAccounts") 注释的 Controller 方法时?(这意味着,当 Controller 处理针对 /listAccounts 资源的 HttpRequest 时,执行以下操作:

execution(@RequestMapping("/listAccounts") * *(..))

我可以做这样的事情吗?

最佳答案

Spring 使用 AspectJ 切入点表达式语言 ( https://eclipse.org/aspectj/doc/next/adk15notebook/annotations-pointcuts-and-advice.html )

应用切入点表达式意味着拦截所有具有“void”返回类型的名称和参数列表的方法调用,只要该方法使用 @com.myapp.MyCustomAnnotation 进行注释即可。

但是无法使用注释参数来匹配连接点,因此您的第二个切入点表达式无效。

关于java - 如何正确使用Spring AOP来选择执行带有特定注解的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29653664/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com