java– 服务的任何公共方法的AOP切入点表达式

java– 服务的任何公共方法的AOP切入点表达式,第1张

概述什么是最简单的切入点表达式,它将拦截使用@Service注释的所有bean的所有公共方法?例如,我希望它会影响这个bean的两个公共方法:@Service public MyServiceImpl implements MyService { public String doThis() {...} public int doThat() {

什么是最简单的切入点表达式,它将拦截使用@Service注释的所有bean的所有公共方法?例如,我希望它会影响这个bean的两个公共方法:

@Servicepublic MyServiceImpl implements MyService {    public String doThis() {...}    public int doThat() {...}    protected int doThatHelper() {...} // not wrapped}
最佳答案这documentation应该非常有帮助.

我会创建两个单独的点切割,一个用于所有公共方法,一个用于所有使用@Service注释的类,然后创建第三个,它结合了另外两个的切入点表达式.

查看(7.2.3.1支持的切入点指示符)以供使用的指示符.我认为你是在寻找公共方法的“执行”指示符之后,以及用于查找注释的“注释”指示符.

然后看一下(7.2.3.2组合切入点表达式)来组合它们.

我在下面提供了一些代码(我没有测试过).它主要来自文档.

@pointcut("execution(public * *(..))") //this should work for the public pointcutprivate voID anyPublicoperation() {}//@pointcut("@annotation(Service)") this might still work,but try 'within' instead@pointcut("@within(Service)") //this should work for the annotation service pointcutprivate voID inTrading() {}@pointcut("anyPublicoperation() && inTrading()")private voID TradingOperation() {}
总结

以上是内存溢出为你收集整理的java – 服务的任何公共方法的AOP切入点表达式全部内容,希望文章能够帮你解决java – 服务的任何公共方法的AOP切入点表达式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1267936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存