当前位置: 首页 > 知识库问答 >
问题:

使用ehache 3与Spring注释(不使用Spring Boot)

严昊昊
2023-03-14

我试图让Ehcache 3在不使用Spring Boot的情况下与Spring 4一起工作。

这里有一个使用Spring Boot的工作示例,但是我正在处理一个不使用Spring Boot的现有应用程序。

问题在于,sping-encent-support(它添加了Spring的缓存注释)期望Ehache的CacheManager位于这个类路径上:net.sf.ehcache.CacheManager

然而,在Ehcache 3中,CacheManager类驻留在另一个类路径上:org。ehcache。缓存管理器。

因此,基本上spring上下文支持不支持Ehcache 3。您必须直接使用JSR-107注释,而不是Spring提供的注释。

但很明显,它与Spring靴配合使用。也许有一种方法可以让它与标准的Spring应用程序一起工作。这就是我所希望的。我真的很想使用Spring自己的注释,而不是JSR-107注释。

共有2个答案

党俊健
2023-03-14

这是从ehcache 2到3的所有必要更改的简单且有效的示例:https://imhoratiu.wordpress.com/2017/01/26/spring-4-with-ehcache-3-how-to/

这是新配置的链接:

  • http://www.ehcache.org/documentation/3.4/xml.html
方宁
2023-03-14

实际上,在Spring缓存中没有对Ehcache 3的本机支持。

好消息是,由于Ehcache 3是一个兼容的JCache实现,所以您可以通过Spring缓存所提供的JCache支持实现所需的功能。一旦在应用程序上下文中有了JCacheCacheManager,就没有什么强迫您使用JCache注释了。你可以毫无问题地继续使用Spring缓存。

你可以在这里找到演示。

注意:我正在Ehache上工作

 类似资料:
  • 我曾尝试使用来自Spring Boot和JSF/PrimeFaces/RichFaces的信息,但对我来说这不起作用。 我使用Java8、maven、Spring-boot和JSF和PrimeFaces。我希望有可执行的jar,并通过main方法或从命令行运行我的应用程序。 问题-JSF注释(、)被忽略。 我还尝试添加/删除javax.el-api/javax.el/jstl-同样的结果。对于be

  • 我只是Spring Security的初学者,但我想知道是否可以使用,,和其他注释来配置KeyClope。例如,我在我的简单spring Rest webapp中配置了和Spring Security性,这样我就可以访问控制器中的主体对象,如下所示: 但是当我尝试这样做时(只是一个例子,实际上我想在授权之前执行自定义EL表达式): 我有例外: 组织。springframework。安全认证。Aut

  • 问题内容: 我的应用程序使用Spring自动装配来配置Bean。我刚刚尝试添加@Transactional,预期的代理似乎没有被调用。我希望PersonalController用事务代理包装的UpdatePublicMapService调用UpdatePublicMapService。 我看到的是PersonalController实例化了两次。第一次获得代理,但是第二次获得未代理的目标。我究竟做

  • 问题内容: 我有几个需要用名称注释的类,因此我将注释定义为 现在,需要此注释的类定义为 我使用下面的代码来扫描注释 问题是返回的映射包含,但是我需要映射包含作为键,这是Annotation的值而不是bean名称。 有办法吗? 问题答案: 只需获取注释对象并提取值即可 让我知道是否不清楚。

  • 另外,请举例说明何时使用annotaion。 提前感谢。

  • 我有一把刀: 问题是,当我试图使用DAO进行加载调用时,使用DynamoDBMapper以field d1作为哈希键来获取项目,它会抛出一个DynamoDBExc0019,说:为公共DAO. getField2()找到了空键,但实际上表的值对应于field d2。问题,这是因为Lombok注释而不是手动突变代码,还是一般来说我们一起使用Lombok和DynamoDBAnnotions?