spring自带的缓存类有两个基础类:Cache(org.springframework.cache.Cache)类,CacheManager(org.springframework.cache.CacheManager)类;

一(核心):

Cache类:定义了缓存常用的操作;

CacheManager类:spring 核心的缓存管理类,spring通过接口CacheManager来管理Cache(缓存);

二:

ConcurrentMapCacheFactoryBean(org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean):

    工厂类,通过此类可以创建Cache对象;

SimpleCacheManager(org.springframework.cache.support.SimpleCacheManager):

    继承自CacheManager,可以用来管理Cache(还有其它类继承自CacheManager类,有相同的功能);

实例:

------------------------------------------------------------------------------------------------------------

   通过以上四个基础类,就可以实现缓存的配置,配置如下:

   <!--缓存配置-->

   <!--启用缓存注解功能-->

   <cache:annotation-driven cache-manager="cacheManger"/>

  <!--spring自己的基于java.util.concurrent.ConcurrentHashMap实现的缓存管理器(该功能是从Spring3.1开始提供)-->

   <bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">

     <property name="caches">

        <set>

          <bean name="myCache" class="org.springframework.cache.concurrent.ConcurrenMapCacheFactoryBean"/>

          <bean name="myCache1"class=" org.springframework.cache.concurrent.ConcurrenMapCacheFactoryBean"/>

        </set>

      </property>  

    </bean>

------------------------------------------------------------------------------------------------------------

service层的使用可以翻看http://www.cnblogs.com/zqsky/p/5867878.html。

注意:

-------------------------------------------注意1----------------------------------------------------------

<cache:annotation-driven/>只会去寻找定义在同一个ApplicationContext下的@Cacheable等缓存注解。

-------------------------------------------注意2---------------------------------------------------------

学会缓存的基本使用只是入门,各种使用技巧只有在项目中亲身体验才算真正学会。

转载于:https://www.cnblogs.com/zqsky/p/5882513.html

spring 缓存(spring自带Cache)(入门)源码解读相关推荐

  1. RabbitMQ详解以及spring对RabbitMQ的集成(附带部分源码解读)

    一·简介 1丶为什么要使用消息队列 https://wenku.baidu.com/view/e297236f83c4bb4cf7ecd193.html ①异步处理(高并发) ②系统解耦 ③流量削锋 ...

  2. Java Review - LinkedHashMap LinkedHashSet 源码解读

    文章目录 Pre 概述 数据结构 类继承关系 构造函数 方法 get() put() remove() LinkedHashSet 使用案例 - FIFO策略缓存 Pre Java Review - ...

  3. Spring 源码解读第七弹!bean 标签的解析

    Spring 源码解读继续. 本文是 Spring 系列第八篇,如果小伙伴们还没阅读过本系列前面的文章,建议先看看,这有助于更好的理解本文. Spring 源码解读计划 Spring 源码第一篇开整! ...

  4. spring源码解读系列(八):观察者模式--spring监听器详解

    一.前言 在前面的文章spring源码解读系列(七)中,我们继续剖析了spring的核心refresh()方法中的registerBeanPostProcessors(beanFactory)(完成B ...

  5. 【赠书福利】掘金爆火小册同名《Spring Boot源码解读与原理剖析》正式出书了!...

    关注我们丨文末赠书 承载着作者的厚望,掘金爆火小册同名读物<Spring Boot源码解读与原理剖析>正式出书! 本书前身是掘金社区销量TOP的小册--<Spring Boot源码解 ...

  6. 实战:Spring Boot源码解读与原理分析

    承载着作者的厚望,掘金爆火小册同名读物<Spring Boot源码解读与原理剖析>正式出书! 本书前身是掘金社区销量TOP的小册--<Spring Boot源码解读与原理剖析> ...

  7. Android -- 带你从源码角度领悟Dagger2入门到放弃(一)

    1,以前的博客也写了两篇关于Dagger2,但是感觉自己使用的时候还是云里雾里的,更不谈各位来看博客的同学了,所以今天打算和大家再一次的入坑试试,最后一次了,保证最后一次了. 2,接入项目 在项目的G ...

  8. spring boot 超市进销存系统源码

    spring boot 超市进销存系统源码 功能:本系统根据权限划分为三种用户:系统管理员,货物管理员,商品管理员(具体角色可以根据权限划分多个) 系统管理员默认功能:客户管理,供应商管理,商品管理, ...

  9. 涨薪秘籍之源码篇:Spring全家桶源码解读,大师晋级笔记

    最近很多人留言说今年找工作太难了,要涨薪几乎更难了 !真的就这么悲观吗?其实不然,我们企业一直都在大量的招人,一直都没停过.只是一点和之前不一样要求变高了,优秀的人一直都缺. 我身边朋友所在的大厂也一 ...

  10. 源码面前没有秘密,推荐 9 个带你阅读源码的开源项目

    在文章开始之前,请各位先回忆下在日常开发过程中,都使用或依赖了哪些开源项目?是不是发现,开源项目已经完全融入到日常开发! 如今大多数的程序员技术栈和工具箱里,或多或少都有开源项目的身影:大到操作系统. ...

最新文章

  1. html图片重叠在一排,【CSS】使用浮动进行图片排列却不能使图片在同一行
  2. C语言的函数调用过程(栈帧的创建与销毁)
  3. Java程序员通用的几个框架分享
  4. “吃神么,买神么”的第三个Sprint冲刺总结
  5. 影场与属性访问器界面
  6. os sys hashlib
  7. LeetCode 1922. 统计好数字的数目(快速幂)
  8. Delphi使用server组件控制excel的一点经验
  9. maven创建一个web项目(springmvc项目)
  10. linux下无线网卡安装debian,Debian/Linux下无线网卡驱动的安装,网卡型号是「BCM43228」...
  11. 基于51单片机的智能温控风扇(程序+仿真+原理图)
  12. 原生js自定义提示框
  13. 写论文和平时学习时有用的网站
  14. 上传代码到github代码仓库
  15. PS——图层的混合模式及图层蒙版
  16. 而立之年,学习编程,
  17. EmEditor中大纲正则表达式如何匹配多位序号,如从1、到999
  18. 分布式框架-设置jenkins自动化构建重启项目
  19. c语言设计程序之数组,软考程序员考点C语言程序设计之数组
  20. libyuv接口YUY2ToI420的实际使用

热门文章

  1. JMS学习(3):--ActiveMQ简单的HelloWorld实例
  2. spring4.x aop拦截spring mvc controller
  3. EA强大的画图工具---设计数据库表格
  4. memcpy函数_如何理解c语言中的回调函数
  5. 手把手教你python实现量价形态选股知乎_【手把手教你】Python实现基于事件驱动的量化回测...
  6. 干货|代码安全审计权威指南(附下载地址)
  7. 实战渗透之一个破站日一天
  8. tf.Variable 和 tf.get_variable的区别(2)
  9. tensorflow综合示例3:对结构化数据进行分类:csv keras feature_column
  10. 使用URLConnection获取网页信息的基本流程