gpt4 book ai didi

java - 为什么我们不能在带有 ehcache 的 spring 中将 @Cacheable 与静态方法一起使用?

转载 作者:搜寻专家 更新时间:2023-11-01 01:10:05 25 4
gpt4 key购买 nike

我是 Spring 的新手,读到我们不能将 @Cacheablestatic 方法 一起使用,但找不到为什么我们不能使用所以任何人都可以解释一下,让初学者容易理解?我们可以使用静态方法来检索数据库表吗?我已经为 DAO 的 service layer 的所有方法制作了 static method 所以这是 thread-safe 吗?

最佳答案

Spring Aspect Concept

详细说明我的评论:

“静态方法无法缓存。Spring 中方面的工作方式是向带​​注释的类添加包装类(代理)。Java 中无法向静态方法添加包装。”

因为 Spring 需要一个对象来环绕以便拦截对该对象的调用并在将修改后的输入委托(delegate)给原始对象之前执行各种操作(因此 spring 方面是可能的)。

因为任何static 都不能被实例化为一个对象,Spring 没有办法环绕它并拦截它的调用(至少在当前的 Spring 实现中)

关于java - 为什么我们不能在带有 ehcache 的 spring 中将 @Cacheable 与静态方法一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27979116/

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