Heim > Artikel > Backend-Entwicklung > Einführung in die drei Kernanmerkungen von Spring Boot (mit Code)
Dieser Artikel bietet Ihnen eine Einführung in die drei Kernanmerkungen von Spring Boot (mit Code). Ich hoffe, dass er für Freunde hilfreich ist.
Ich habe kürzlich einige Java-Entwickler interviewt. Einige von ihnen haben Spring Boot tatsächlich im Unternehmen verwendet, andere haben es in ihrer Freizeit als Hobby gelernt. Als ich sie jedoch nach den drei Kernanmerkungen von Spring Boot fragte, war ich enttäuscht, dass nur wenige Leute sie beantworten konnten. Können Sie also sagen, dass Sie Spring Boot sehr gut kennen? Auch das kann Punkte kosten!
Erläuterung der Spring Boot-Kernanmerkungen
Das größte Merkmal von Spring Boot ist, dass es keine XML-Konfigurationsdateien erfordert und Paketpfade automatisch scannen kann, um Objekte zu laden und einzufügen und kann Objekte gemäß dem Klassenpfad laden und injizieren. Das folgende JAR-Paket wird automatisch konfiguriert.
Die drei Kernanmerkungen von Spring Boot sind also:
1. @Configuration
org.springframework.context.annotation.Configuration
Dies ist eine von Spring 3.0 hinzugefügte Annotation, um die Konfigurationsdatei applicationContext.xml zu ersetzen. Alle Dinge, die in dieser Konfigurationsdatei ausgeführt werden können, können über die Klasse registriert werden, in der sich diese Annotation befindet.
Die folgenden diesbezüglichen Überlegungen sind ebenfalls sehr wichtig!
@Bean
wird verwendet, um die
@ImportResource
Wenn einige nicht über die Klassenregistrierung konfiguriert werden können, können Sie über diese Anmerkung zusätzliche XML-Konfigurationsdateien einführen. Einige alte Konfigurationsdateien können nicht übergeben werden@Configuration
Die Konfigurationsmethode ist sehr effektiv.
@Import
wird verwendet, um eine oder mehrere zusätzliche @Configuration-modifizierte Konfigurationsdateiklassen einzuführen.
@SpringBootConfiguration
Diese Annotation ist eine Variante der @Configuration-Annotation. Sie wird nur verwendet, um die Spring Boot-Konfiguration zu ändern oder die spätere Erweiterung von Spring zu erleichtern Booten. Quellcode wie folgt.
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Configuration public @interface SpringBootConfiguration { }
2. @ComponentScan
org.springframework.context.annotation.ComponentScan
Dies ist eine Anmerkung, die von Spring 3.1 hinzugefügt wurde, um die Komponente zu ersetzen Die Konfiguration -scan in der Konfigurationsdatei aktiviert das Scannen von Komponenten, d. h. sie scannt automatisch die @Component-Annotation unter dem Paketpfad, um die Bean-Instanz im Kontext zu registrieren.
Darüber hinaus handelt es sich bei @ComponentScans um eine wiederholbare Annotation, d. h. es können mehrere Annotationen konfiguriert werden, um verschiedene Unterpakete zu konfigurieren und zu registrieren.
3. @EnableAutoConfiguration
org.springframework.boot.autoconfigure.EnableAutoConfiguration
Sehen Sie sich den vollständigen Pfad an und Sie werden wissen, dass dies der Fall ist Die Geburt von Spring Boot Die hinzugefügten Anmerkungen werden zur Bereitstellung der automatischen Konfiguration verwendet. Die beiden oben genannten befinden sich im spring-context
-Paket und gehören nicht zu Spring Boot. Daher hat die XML-Konfigurationsmethode nach Spring 3.0 den Grundstein für Spring Boot gelegt.
Für eine detailliertere Verwendung und Praxis der automatischen Konfiguration lesen Sie bitte diesen Artikel „Prinzip und Praxis der automatischen Spring Boot-Konfiguration“.
Nachdem die drei Kernanmerkungen von Spring Boot vorgestellt wurden, haben Sie möglicherweise Fragen: Warum ist die wichtigste Annotation @SpringBootApplication nicht dabei?
Diese @SpringBootApplication-Annotation ist tatsächlich ein Easter Egg für alle und enthält die oben genannten drei Hauptanmerkungen. Wenn keine benutzerdefinierte Konfiguration erforderlich ist, verwenden Sie einfach die @SpringBootApplication-Annotation!
Werfen wir einen Blick auf den Quellcode der @SpringBootApplication-Annotation, alles ist klar!
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) }) public @interface SpringBootApplication { ... }
Das obige ist der detaillierte Inhalt vonEinführung in die drei Kernanmerkungen von Spring Boot (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!