您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SpringBoot-BeanDefinitionOverrideException:无效的Bean定义

SpringBoot-BeanDefinitionOverrideException:无效的Bean定义

从Spring Boot 2.1开始必须启用Bean覆盖,

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.1-Release- Notes

Bean覆写

认情况下禁用Bean覆盖,以防止意外覆盖Bean。如果您依赖覆盖,则需要将spring.main.allow-bean-deFinition- overriding设置为true。

spring.main.allow-bean-deFinition-overriding=true

或yml,

spring:
   main:
     allow-bean-deFinition-overriding: true

再次启用覆盖。

编辑,

Bean覆盖基于Bean的名称而不是其类型。例如

@Bean
public ClassA class(){
   return new ClassA();
}

@Bean
public ClassB class(){
   return new ClassB();
}

在> 2.1中将导致此错误认情况下,bean名称取自方法名称重命名方法或将name属性添加Bean注释将是有效的解决方案。

Java 2022/1/1 18:14:33 有481人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶