在做springboot集成redis時報如下錯誤:
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'cacheManager' defined in class path resource [org/springframework/boot/autoconfigure/cache/RedisCacheConfiguration.class]: @Bean definition illegally overridden by existing bean definition: Generic bean: class [com.muyuer.bee.engine.cache.memory.MemoryCacheManager]; scope=; abstract=false; lazyInit=true; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in class path resource [applicationContext-bee.xml]
百度居然沒有相關文章,google也沒有.
沒辦法只能仔細查看錯誤信息,關注到@Bean definition illegally overridden by existing bean definition,意思是@bean定義被現有bean定義非法重寫,查看org/springframework/boot/autoconfigure/cache/RedisCacheConfiguration.class源碼里面有一個@bean 名稱為cacheManager,再看自己代碼里也有一個同樣名稱的接口定義,報着試一下,把自己代碼里的CacheManager接口改了一個名字,再運行居然成功了。
其實idea提示對錯誤的說明還是很清楚的了,仔細看看總能找到答案。