我有@Cacheable
和@CacheEviction
注释的问题。当我在声明它们的bean中调用这些方法时,aop部分没有被执行。
其根本原因是bean访问自己的实例本身,而不是访问spring代理。
我已经阅读过this question,据说在大多数情况下,访问代理的bean不一定是必需的。
可能这些答案对我有用。问题是:
有没有其他方法使注释方法工作?或者听起来我发现bean需要访问代理本身的一个很好的理由?
这个问题已经在这里问了几十次。
正如Spring用户手册中详细记录的那样,自我调用无法与Spring AOP一起使用,因为Spring AOP使用代理。所以如果你想让自我调用触发一个方面,请切换到完整的AspectJ via LTW (load-time weaving)。它适用于原始bean,不使用任何代理。