Saltar al contenido

SpringBoot – BeanDefinitionOverrideException: definición de bean no válida

Estate atento ya que en este tutorial vas a encontrar la respuesta que buscas.Esta crónica ha sido evaluado por nuestros expertos para garantizar la calidad y veracidad de nuestro post.

Solución:

La anulación de Bean debe estar habilitada desde Spring Boot 2.1,

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

Anulación de frijoles

La anulación de beans se ha desactivado de forma predeterminada para evitar que un bean se anule accidentalmente. Si confía en la anulación, deberá configurar spring.main.allow-bean-definition-overriding en true.

Colocar

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

o yml,

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

para habilitar la anulación de nuevo.

Editar,

Bean Overriding se basa en el nombre del bean, no en su tipo. p.ej

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


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

Causará este error en> 2.1, por defecto, los nombres de los beans se toman del nombre del método. Cambiar el nombre del método o agregar el name attribute al Bean la anotación será una corrección válida.

Habilite la anulación de beans con dicho enfoque, por ejemplo

@SpringBootTest(properties = "spring.main.allow-bean-definition-overriding=true")

o

@SpringBootApplication (properties = "spring.main.allow-bean-definition-overriding=true")

valoraciones y comentarios

Recuerda algo, que te permitimos añadir una tasación acertada si diste con el arreglo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *