我有一个简单的Spring Web应用程序 . 我正在使用EhCache进行缓存 . 我有控制器,服务和dao . 在我的服务中,我有 @PostConstruct 调用dao方法 . Dao方法没有任何参数,并使用 @Cacheable 注释进行注释 .

@Cacheable(value="mycache", key="root.method.name")

mycache在 ehcache.xml 中定义

在我的 @PostConstruct 方法中,在调用dao方法之后,我从缓存管理器中提取缓存并尝试从缓存中提取值 . 关键是dao方法名称 . prb这里是我得到 null 值 .

但是如果我将相同的代码移动到我的控制器 . . 我得到了 Value ..在 @Repository class EhCache的行为有什么不同