springboot集成redis 报错@Bean definition illegally overridden by existing bean definition@bean定义被现有bean定

Posted muyuer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot集成redis 报错@Bean definition illegally overridden by existing bean definition@bean定义被现有bean定相关的知识,希望对你有一定的参考价值。

在做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提示对错误的说明还是很清楚的了,仔细看看总能找到答案。

以上是关于springboot集成redis 报错@Bean definition illegally overridden by existing bean definition@bean定义被现有bean定的主要内容,如果未能解决你的问题,请参考以下文章

Springbootspring-boot-starter-redis包报错 :unknown

SpringBoot整合Redis,RedisConfig启动出错ror creating bean with name ‘redisTemplate‘ defined in class path

企业级 SpringBoot 教程 (十三)springboot集成spring cache

企业级 SpringBoot 教程 (十三)springboot集成spring cache

SpringBoot集成MyBatis的Bean配置方式

Springboot启动找不到bean