本文分析 spring-cache 在 spring-boot 中的自动配置过程。
SpringCache 并非某一种Cache实现的技术,SpringCache 是一种缓存实现的通用技术,基于 Spring 提供的 Cache 框架,让开发者更容易将自己的缓存实现高效便捷的嵌入到自己的项目中。当然 SpringCache 也提供了本身的简单实现 NoOpCacheManager、ConcurrentMapCacheManager 等。通过 SpringCache 可以快速嵌入自己的 Cache 实现。
spring-cache 的自动配置主要由两部分构成
- @EnableCaching 主要是注入 aop 部分
- CacheAutoConfiguration 配置cacheManager 部分
CacheAutoConfiguration
本文先分析 CacheAutoConfiguration ,至于 @EnableCaching 后面分析。源码如下
主要逻辑如下
- 通过 CacheConfigurationImportSelector 导入各种缓存的配置类
- 申明 CacheManagerCustomizers 主要是聚合自定义的 CacheManagerCustomizer ,通过 CacheManagerCustomizer 可以自动一 CacheManager 相关行为。<