在設計分佈式緩存中間件時,提出裝卸都不影響工程,不影響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源碼