[JAVA] Wenn der Bean-Klassenname dupliziert wird

Selbst wenn die Kompilierung erfolgreich ist, tritt zur Laufzeit ein Fehler auf. Sie müssen daher einen eindeutigen Namen angeben. Wenn Sie sie einzeln von Hand anbringen, treten wahrscheinlich Fehler auf. Fügen Sie sie daher automatisch hinzu.

Definieren Sie eine Namensklasse direkt unter dem Stammpfad usw.

FQCNBeanNameGenerator.java


public class FQCNBeanNameGenerator extends AnnotationBeanNameGenerator {

    @Override
    protected String buildDefaultBeanName(BeanDefinition definition) {
        return definition.getBeanClassName();
    }
}

Ändern Sie servlet-context.xml

Vor dem Wechsel: Servlet-context.xml


	<context:component-scan base-package="jp.co.test" />

Nach dem Wechsel: Servlet-context.xml


	<context:component-scan
		base-package="jp.co.test"
		 name-generator="jp.co.test.FQCNBeanNameGenerator" />

Referenz

https://qiita.com/sinsengumi/items/655d9f3ff49646dfe61a http://d.hatena.ne.jp/ocs/20101129/1291034951

Recommended Posts

Wenn der Bean-Klassenname dupliziert wird
Wenn Sie sich im Klassennamen verlieren
Die Migrationsdatei wird dupliziert
Was ist die BufferedReader-Klasse?
Fehler, wenn das in SpringWebFlux verwendete Mitglied der Entity-Klasse endgültig ist
Passen Sie den durch Spring Component-Scan festgelegten Bean-Namen an
[Java] Wo befindet sich die Implementierungsklasse der Annotation, die in BeanValidation vorhanden ist?
Der offizielle Name von Spring MVC ist Spring Web MVC
Wenn das Projekt nicht in Eclipse angezeigt wird
So erhalten Sie den Klassennamen des Arguments von LoggerFactory.getLogger, wenn Sie SLF4J in Java verwenden
Wenn der Schwebeflug von Eclipse schwer zu sehen ist
Rufen Sie den Namen des Testfalls in der JUnit-Testklasse ab
Wenn der Monat des Datums erfasst wird, verschiebt sich der Januar
Informationen zum Laden und Initialisieren von Klassen beim Start der JVM
Warum die get-Methode in der Calendar-Klasse benötigt wird
Informationen zur StringBuilder-Klasse
[Rails] Zeichnen Sie auf, wann das Ereignis nicht ausgelöst wurde, wenn der Name der Javascript-Datei mit dem des Controllers identisch ist
wsimport-Fehlerbehandlung (Eine Klasse / Schnittstelle mit dem gleichen Namen "xxx" wird bereits verwendet)
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
Wann wird der Standardwert ohne explizite Initialisierung automatisch eingegeben?
Was ist die LocalDateTime-Klasse? [Java-Anfänger] -Datum und Zeitklasse-
Bei Verwendung des Konstruktors der Date-Klasse von Java wird das Datum um 1900 vorverlegt.
Die Idee, abzuschalten, wenn der Fehler nicht behoben ist
% Rails DB: Beim Erstellen ist der durch Mimemagic verursachte LoadError
[Schienen] Wenn die Layoutänderung des Geräts nicht berücksichtigt wird
Ich möchte dem select-Attribut einen Klassennamen geben
Verhalten, wenn jedes im umgekehrten Bereich ausgeführt wird
[Swift] Ermittelt das Timing, wenn der Wert von textField geändert wird
Logback-Protokoll wird nicht ausgegeben, wenn die Serveranwendung geschlossen wird