org.springframework.beans.factory.support.BeanDefinitionOverrideException: Invalid bean definition with name
'dataSource' defined in null: Cannot register bean definition [Generic bean: class [cn.paohe.base.
datasource.mybatis.DynamicDataSource]; scope=; abstract=false; lazyInit=false; autowireMode=0;
dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null;
factoryMethodName=null; initMethodName=null; destroyMethodName=null] for bean 'dataSource':
There is already [Generic bean: class [cn.paohe.base.datasource.mybatis.DynamicDataSource]; scope=;
abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true;
primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null;
destroyMethodName=null] bound.
当前的项目框架里面是可以通过pom文件配置将当前项目打包成整合包(独立运行项目)和云服务包(通过公司云服务平台为基础对外提供服务)两种类型。
而这个报错的原因在于workspace里面开启的项目pom文件采用的是云服务包的pom配置信息,但另一位同事提交的时候将整合包的部分配置提交并合并了。
导致到在Maven框架全体打包后发现云服务包中引用的jar包包含了部分整合包。在启动的时候出现了重复启动的情况。
既然重复启动了,那数据源在框架中肯定也经过多次注册,最终导致错误抛出的问题。
最终重新分解pom配置就解决这个问题了。
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132)
at org.springframework.test.co
正确解决org.springframework.beans.factory.support.BeanDefinitionValidationException Bean验证异常的有效解决方法
Spring项目启动报错org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find classs分析
org.springframework.beans.factory.support.BeanDefinitionRegistry
// 它继承自 AliasRegistry
public interface BeanDefinitionRegistry extends AliasRegistry {
// 关键 -> 往注册表中注册一个新的 BeanDefinition 实例
void registerBeanDefinition(String beanName, BeanDefinitio