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.