@SpringBootApplication Anmerkung ist eine praktische Anmerkung, die mit Spring Boot 1.2.0 eingeführt wurde. Wenn Sie an früheren Spring-Boot-Versionen gearbeitet haben, ist es üblich, dass die Hauptklasse immer mit den folgenden Anmerkungen versehen wird:
- @Aufbau : Diese Anmerkung ist nicht spezifisch für Spring-Boot-Anwendungen. Diese Annotation kennzeichnet die Klasse als Quelle für Bean-Definitionen. Kurz gesagt, diese Annotation wird zum Definieren von Beans mithilfe der Java-Konfiguration verwendet.
- @EnableAutoConfiguration: Dies ist eine Spring-Boot-Anmerkung. Diese Annotation ermöglicht es der Anwendung, die Beans mithilfe der Klassenpfaddefinitionen hinzuzufügen.
- @ComponentScan: Diese Annotation weist den Spring an, im angegebenen Pfad nach anderen Komponenten, Konfigurationen und Diensten zu suchen.
Die oben genannten drei Anmerkungen sind für die gesamte Hauptklasse der Spring Boot-Anwendung weit verbreitet. Dafür lohnt es sich Fügen Sie @SpringBootApplication als einzelne Anmerkung hinzu das repräsentiert alle oben genannten drei Anmerkungen. Hier ist die Definition dieser Annotation im Quellcode:
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @Configuration @EnableAutoConfiguration @ComponentScan public @interface SpringBootApplication { ......
Wenn Sie sich den Code ansehen, können Sie leicht verstehen, dass die Verwendung der oben genannten drei Anmerkungen der Verwendung von a entspricht @SpringBootApplication
Anmerkung.
Wenn Sie jedoch die anpassen möchten @EnableAutoConfiguration
oder @ComponentScan
dann können Sie die einzelnen Anmerkungen wie folgt verwenden.
@EnableAutoConfiguration(exclude={Book.class}) @ComponentScan({"net.javabeat"}) @Configuration public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
Dasselbe kann in der verwendet werden @SpringBootApplication
wie nachstehend:
@SpringBootApplication(exclude=Book.class,scanBasePackages={"net.javabeat"}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
Die folgenden Parameter werden in der Annotation @SpringBootApplication akzeptiert:
- ausschließen – Schließen Sie die Liste der Klassen von der automatischen Konfiguration aus.
- ausschließenNamen – Schließen Sie die Liste der vollständig qualifizierten Klassennamen von der automatischen Konfiguration aus. Dieser Parameter wurde seit Spring Boot 1.3.0 hinzugefügt.
- scanBasePackageClasses – Geben Sie die Liste der Klassen an, die für den @ComponentScan angewendet werden müssen.
- scanBasePackages – Geben Sie die Liste der Pakete an, die für den @ComponentScan angewendet werden müssen. Dieser Parameter wurde seit Spring Boot 1.3.0 hinzugefügt.