2017-12-26 12 views
1

Ich habe Annotation Komponente Scan im main class App.java und ich habe Annotation Komponente in vier KlassenComponentScan Fluss im Frühjahr Boot-

Beispiel: A.java, B.Java, C.java und D.java mit Annotation Komponente in verschiedenen Paketen.

Hier, wie die Anwendung auf C.Java zu gehen weiß zuerst in Verbindung keine Pakete an Anmerkung Component Scan im main class erwähnt hat, aber wenn ich die Anwendung ausführen kann ich sehen, es wird zu C.java first.Can Sie bitte erklären, Wie? Ich laufe als Java-Run als Anwendung.Ich will nur das Konzept der Annotation Component wissen, wenn wir keine Basis-Pakete in der Hauptsache die Klasse erwähnen.

Antwort

1

Dann ist Ihre Spring-Boot-Anwendung mit der @SpringBootApplication annotiert.

@SpringBootApplication Annotation entspricht der Verwendung von @Configuration, @EnableAutoConfiguration and @ComponentScan mit ihren Standardattributen.

Ein weiterer Punkt, wenn Sie nicht, geben Sie den Basispaketnamen in @ComponentScan, wird es aus dem Paket scannen, wo die @Springbootapplication vorhanden.

Weitere Infor, Spring-Boot

0

@ComponentScan Java doc besagt, dass

Wenn bestimmte Pakete nicht definiert sind, Scannen vom Paket der Klasse auftreten, die diese Anmerkung erklärt.

Das ist wahrscheinlich der Grund, warum Ihre Klasse C gescannt wird.

Spring Java Doc