在设计分布式缓存中间件时,提出装卸都不影响工程,不影响spring自身升级,也不影响业务代码,也就是零侵入预期,在v1版本作到了封装和继承cacheable等标签作法,但这个被本人不久被推翻,后有制造用逻辑语在cacheName上实现,虽然可用,也不影响,但可读性不好,然而spring源码标签的确在这时无论用,所以只能重写spring cache源码来达到预期,原本只是一个预想,而后通过几天的构思,重写源码却达到了目的,具体怎么作到,未来会讲spring
这里简单的说下,重写那几个源码缓存
一、org.springframework.cache.annotation.Cacheable 这是要扩展的标签属性分布式
二、org.springframework.cache.annotation.SpringCacheAnnotationParser扩展须要set的属性设计
三、org.springframework.cache.config.CacheAdviceParser中间件
四、org.springframework.cache.interceptor.CacheAspectSupport继承
五、org.springframework.cache.interceptor.CacheableOperation源码