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

我是Spring的新手并且读到我们不能将@Cacheable用于静态方法,但是无法找到为什么我们不能使用,所以任何人都可以解释,以便初学者可以轻松理解?
我们可以使用静态方法来检索数据库表吗?
我已经制作了DAO服务层的所有方法的静态方法,所以这是线程安全的吗?
最佳答案
阐述我的评论:

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

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

因为任何静态的东西都不能被实例化为一个对象,所以Spring无法绕过它并拦截它的调用(至少在Spring的当前实现中)

转载注明原文:java – 为什么我们不能在带有ehcache的spring中使用带有静态方法的@Cacheable? - 代码日志