Spring Boot @Configuration bean 名称冲突

Nya*_*ope 5 spring spring-boot spring-java-config

我有一个项目,其中包含许多使用 @Configuration 类(Spring Integration 和 Spring Batch 的东西)定义 bean 的小库,我经常遇到问题,因为这两个库都有一个同名的 bean。

可以:

  • 对配置类的所有 bean 应用前缀
  • 如果存在两个同名的 bean,则强制应用程序在启动时崩溃
  • 使用另一种无需重新设计应用程序即可修复它的解决方案

Rau*_*ero -1

我理解你的意思是你有两个使用@Configuration注释调用相同的bean,这会发生冲突并且不会出现以下错误:

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.lapeira.formacion.CasoFinalApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'configuracion' for bean class [com.lapeira.formacion.seguridad.Configuracion] conflicts with existing, non-compatible bean definition of same name and class [com.lapeira.formacion.batch.Configuracion]
Run Code Online (Sandbox Code Playgroud)

只需重命名这两个类之一就可以了。