1. 自动配置类:CacheAutoConfiguration
2. 缓存的配置类:
org.springframework.boot.autoconfigure.cache.GenericCacheConfiguration
org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration
org.springframework.boot.autoconfigure.cache.EhCacheCacheConfiguration
org.springframework.boot.autoconfigure.cache.HazelcastCacheConfiguration
org.springframework.boot.autoconfigure.cache.InfinispanCacheConfiguration
org.springframework.boot.autoconfigure.cache.CouchbaseCacheConfiguration
org.springframework.boot.autoconfigure.cache.RedisCacheConfiguration
org.springframework.boot.autoconfigure.cache.CaffeineCacheConfiguration
org.springframework.boot.autoconfigure.cache.SimpleCacheConfiguration
org.springframework.boot.autoconfigure.cache.NoOpCacheConfiguration
3. 默认生效的是SimpleCacheConfiguration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(CacheManager.class)
@Conditional(CacheCondition.class)classSimpleCacheConfiguration {
@Bean
ConcurrentMapCacheManager cacheManager(CacheProperties cacheProperties,
CacheManagerCustomizers cacheManagerCustomizers) {
ConcurrentMapCacheManager cacheManager= newConcurrentMapCacheManager();
List cacheNames =cacheProperties.getCacheNames();if (!cacheNames.isEmpty()) {
cacheManager.setCacheNames(cacheNames);
}returncacheManagerCustomizers.customize(cacheManager);
}
}
4. 给容器中注册了一个CacheManager:ConcurrentMapCacheManager
5. 可以获取和创建ConcurrentMapCache类型的缓存组件:将数据保存在ConcurrentMap中