首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >春季缓存方法中最简单、最透明的方法是什么?

春季缓存方法中最简单、最透明的方法是什么?
EN

Stack Overflow用户
提问于 2009-07-28 07:31:41
回答 3查看 781关注 0票数 1

如果我有一堆DAO和一堆getXXX方法,并且需要缓存的方法的全部或一些显式列表,那么有什么方法可以用Spring透明地这样做吗?

我不想要的是

  • 更改任何源代码/添加注释
  • 手动必须为许多DAO创建多个代理bean,并将它们全部重新连接。

理想情况下,使用正则表达式来匹配DAO和方法来缓存并根据需要自动环绕DAO。

我们使用的是OSCache,所以用这个例子就太棒了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-07-28 07:38:41

春天的AOP是你想要的,我想。这将使您能够自动为DAO创建代理对象,而无需手动检查它们。

不过,这是一个复杂的主题,因此我建议您使用Spring的阅读相关章节。不过,作为一个让您开始的想法,BeanNameAutoProxyCreator可能对您很有用。AspextJK是一种纯正的AOP方法,但它相当可怕。基于架构的AOP方法比较容易,但不太灵活。

Spring框架的核心原则之一是非侵入性;这就是不应该强迫您在业务/域模型中引入特定于框架的类和接口的想法。然而,在某些地方,Spring框架确实为您提供了将Spring框架特定的依赖项引入到代码库中的选项:提供这些选项的理由是,在某些场景中,以这种方式阅读或编写特定的功能可能非常简单。但是,Spring框架(几乎)总是为您提供选择:您可以自由地做出明智的决定,以确定哪个选项最适合您的特定用例或场景。 与本章相关的一种选择是选择哪种AOP框架(以及哪种AOP风格)。您可以选择AspectJ和/或Spring,也可以选择@AspectJ注释样式的方法或Spring配置风格的方法。本章选择首先介绍@AspectJ风格的方法,这一事实不应被看作是Spring团队倾向于@AspectJ注释风格的方法而不是Spring配置风格的指示。 请参阅题为“选择使用哪种AOP声明样式”的第6.4节,以更全面地讨论每种样式的原因和原因。

至于实际的缓存,您必须自己去做,但是一旦AOP钩子被集成,这应该是简单明了的。

票数 0
EN

Stack Overflow用户

发布于 2013-02-03 07:43:08

您可以从@Cacheable使用jcabi-方面注释和AOP方面。

代码语言:javascript
复制
@Cacheable(lifetime = 5, unit = TimeUnit.SECONDS)
public String load(URL url) {
  return url.openConnection().getContent();
}
票数 1
EN

Stack Overflow用户

发布于 2009-08-06 15:39:10

您可以尝试弹簧模提供的缓存。它通过方面进行缓存,并支持几种缓存解决方案,如OsCache、EHCache、JBoss缓存等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1192409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档