java - @CacheEvict 注释是否适用于私有(private)方法?

标签 java spring

我正在尝试使用@Cachable 和@CacheEvict 通过spring 框架管理redis 缓存。可以在类的私有(private)方法上添加 @CacheEvict 吗?

最佳答案

@Cacheable 仅在 bean 之间调用时才被评估,即使对于公共(public)方法也是如此。即为此:

public class MyBean {

@Cacheable
public String getString(int i) {
    return Integer.toString(i);
}
public void myOtherMethod() {
    String myString = getString(2);
}
}

不会触发缓存。

因此,用@Cacheable声明一个private方法是没有意义的。

请注意,方面也是如此(如其他解决方案中所建议的);这些在调用类内方法时也不会触发。

关于java - @CacheEvict 注释是否适用于私有(private)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47131569/

相关文章:

java - JAVA 中带有 ResultSet 参数的 SELECT 查询

Java 异常和 HTTP 500 错误

java - JUnit Spring with xml No Annotation 加载bean失败

java - scala 和 spring data neo4j - 没有为字段配置 FieldAccessor

java - Spring 3.1实例化bean报错

java - Spring Batch Job的集成测试失败

java - spring web framework中有没有具体的验证机制

java - 检查用户名和密码是否正确

java - 使用回溯在 Java 中解决数独问题

java - 遍历数组元素OnClickListener android studio