Ich erhalte den ConflictingBeanDefinitionException-Fehler in meiner Spring-Boot-Anwendung. Ich bin mir nicht ganz sicher, wie ich das angehen soll. Ich habe mehrere mit Anmerkungen versehene @Configuration-Klassen, die dabei helfen, Thymeleaf, Spring Security und Web einzurichten. Warum versucht die Anwendung, den HomeController zweimal einzurichten? (Und wo versucht es das?)
Der Fehler ist:
%Vor%Mein Springboot-Hauptanwendungsinitialisierer:
%Vor%Meine Datenbankkonfigurationsdatei:
%Vor%Meine Thymeleaf-Konfigurationsdatei:
%Vor%}
Meine Web-Konfigurationsklasse:
%Vor%Mein Controller (bei einem Fehler beim Einrichten des Controllers)
%Vor%Was könnte den ConflictingBeanDefinitionException-Fehler für meine Controller-Klasse verursachen?
Wie ich herausfand, besteht die Lösung darin, die doppelte Initialisierung zu deaktivieren, indem ein Filter in den Komponentenscan eingefügt wird. In meinem Fall:
%Vor%Es sieht so aus, als hätten Sie zwei entityManagerFactory, eine, die Sie automatisch ansteuern werden, und eine, die Sie programmatisch als Bean auflösen:
%Vor%Ich denke, Sie brauchen nur Ihre konfigurierte Factory in entityManagerFactory () -Methode.
Ich hatte das gleiche Problem mit einer generierten WAR-Datei vom Spring-Boot. Die genehmigte Lösung (Timothy Tutis eigene Lösung) funktionierte für mich nicht ganz so wie sie ist, aber ich habe sie ein wenig optimiert und es hat funktioniert. Ich habe meiner Application.java gerade die folgende Zeile hinzugefügt:
@ComponentScan(basePackages = { "com.mypackage" })
Als Referenz hier meine volle Application.java
%Vor%Tags und Links java spring spring-mvc spring-security spring-boot