Spring Cache集成spring默认缓存实现

spring提供了如下接口:

org.springframework.cache.Cache  缓存数据操作接口

org.springframework.cache.CacheManager  Cache的管理接口

上一节我们已经使用过了CacheManager的一个实现类org.springframework.cache.support.SimpleCacheManager,常见的有如下实现类:

org.springframework.cache.concurrent.ConcurrentMapCacheManager

org.springframework.cache.Cache.GuavaCacheManager

rg.springframework.cache.support.SimpleCacheManager

org.springframework.cache.ehcache.EhCacheCacheManager

org.springframework.cache.jcache.JCacheCacheManager

针对于redis有org.springframework.data.redis.cache.RedisCacheManager实现。

spring默认采用ConcurrentHashMap实现缓存数据存储,org.springframework.cache.concurrent.ConcurrentMapCache实现Cache接口,org.springframework.cache.concurrent.ConcurrentMapCacheManager实现CacheManager接口。

spring配置如下:

<?xml version='1.0' encoding='UTF-8'?>
<beans xmlns='http://www.springframework.org/schema/beans'
	xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 
	xmlns:context='http://www.springframework.org/schema/context'
	xmlns:c='http://www.springframework.org/schema/c' 
	xmlns:p='http://www.springframework.org/schema/p'
	xmlns:cache='http://www.springframework.org/schema/cache'
	xsi:schemaLocation='
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd
        '>
	<!-- 启用缓存注解功能,这个是必须的,否则注解不会生效,另外,该注解一定要声明在spring主配置文件中才会生效 -->
	
	<cache:annotation-driven cache-manager="cacheManager" />

	<bean id="userService" class="org.springframework.cache.demo.UserService" />

	<!-- generic cache manager -->
	<bean id="cacheManager" class="org.springframework.cache.concurrent.ConcurrentMapCacheManager">
		<constructor-arg index="0" value="userCache" />
	 </bean>
</beans>

还可以使用SimpleCacheManager来配置器CacheManager,使用ConcurrentMapCache的工厂类org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean,如下:

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cache="http://www.springframework.org/schema/cache"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache.xsd">
	<!-- 启用缓存注解功能,这个是必须的,否则注解不会生效,另外,该注解一定要声明在spring主配置文件中才会生效 -->
	
	<cache:annotation-driven cache-manager="cacheManager" />

	<bean id="userService" class="org.springframework.cache.demo.UserService" />

	<!-- generic cache manager -->
	<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
		<property name="caches">
			<set>
				<bean
					class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
					p:name="default" />
				<bean
					class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
					p:name="userCache" />
			</set>
		</property>
	</bean>
</beans>

添加jar依赖:

<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>4.1.7.RELEASE</version>
		</dependency>

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值