访问spring bean代理引用本身

问题描述 投票:0回答:1

我有@Cacheable@CacheEviction注释的问题。当我在声明它们的bean中调用这些方法时,aop部分没有被执行。

其根本原因是bean访问自己的实例本身,而不是访问spring代理。

我已经阅读过this question,据说在大多数情况下,访问代理的bean不一定是必需的。

可能这些答案对我有用。问题是:

有没有其他方法使注释方法工作?或者听起来我发现bean需要访问代理本身的一个很好的理由?

java spring spring-boot aop spring-aop
1个回答
1
投票

这个问题已经在这里问了几十次。

正如Spring用户手册中详细记录的那样,自我调用无法与Spring AOP一起使用,因为Spring AOP使用代理。所以如果你想让自我调用触发一个方面,请切换到完整的AspectJ via LTW (load-time weaving)。它适用于原始bean,不使用任何代理。

© www.soinside.com 2019 - 2024. All rights reserved.