Maison > Article > développement back-end > Introduction aux trois annotations principales de Spring Boot (avec code)
Cet article vous présente les trois annotations principales de Spring Boot (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
J'ai récemment interviewé des développeurs Java. Certains d'entre eux ont effectivement utilisé Spring Boot dans l'entreprise, et certains l'ont appris pendant leur temps libre comme passe-temps. Cependant, lorsque je leur ai demandé quelles étaient les trois annotations principales de Spring Boot, j'ai été déçu que peu de personnes puissent y répondre. De cette façon, pouvez-vous dire que vous connaissez très bien Spring Boot ? Cela peut aussi vous coûter des points !
Explication des annotations principales de Spring Boot
La plus grande fonctionnalité de Spring Boot est qu'il ne nécessite pas de fichiers de configuration XML, peut analyser automatiquement les chemins des packages pour charger et injecter des objets , et peut charger et injecter des objets en fonction du chemin de classe. Le package jar ci-dessous est automatiquement configuré.
Donc, les trois annotations principales de Spring Boot sont :
1 @Configuration
org.springframework.context.annotation.Configuration
.Il s'agit d'une annotation ajoutée par Spring 3.0 pour remplacer le fichier de configuration applicationContext.xml. Toutes les choses qui peuvent être faites dans ce fichier de configuration peuvent être enregistrées via la classe où se trouve cette annotation.
Les considérations connexes suivantes sont également très importantes !
@Bean
est utilisé pour remplacer la configuration
@ImportResource
Si certains ne peuvent pas être configurés via l'inscription au cours, vous pouvez introduire des fichiers de configuration XML supplémentaires via cette annotation. Certains anciens fichiers de configuration ne peuvent pas être transmis@Configuration
. La méthode de configuration est très efficace.
@Import
est utilisé pour introduire une ou plusieurs classes de fichiers de configuration modifiées @Configuration supplémentaires.
@SpringBootConfiguration
Cette annotation est une variante de l'annotation @Configuration. Elle est uniquement utilisée pour modifier la configuration de Spring Boot, ou pour faciliter l'expansion ultérieure de Spring. Démarrez le code source comme suit.
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Configuration public @interface SpringBootConfiguration { }
2. @ComponentScan
org.springframework.context.annotation.ComponentScan
Ceci est une annotation ajoutée par Spring 3.1, utilisez Pour remplacer la configuration d'analyse des composants dans le fichier de configuration, activez l'analyse des composants, c'est-à-dire analysez automatiquement l'annotation @Component sous le chemin du package pour enregistrer l'instance du bean dans le contexte.
De plus, @ComponentScans est une annotation répétable, c'est-à-dire que plusieurs annotations peuvent être configurées pour configurer et enregistrer différents sous-packages.
3. @EnableAutoConfiguration
org.springframework.boot.autoconfigure.EnableAutoConfiguration
Regardez le chemin complet et vous saurez que c'est depuis la naissance de Spring Boot Les annotations ajoutées sont utilisées pour fournir une configuration automatique. Les deux ci-dessus sont sous le package spring-context
et n'appartiennent pas à Spring Boot. Par conséquent, la méthode de configuration XML après Spring 3.0 a jeté les bases de Spring Boot !
Pour une utilisation et une pratique plus détaillées de la configuration automatique, veuillez lire cet article « Principe et pratique de la configuration automatique de Spring Boot ».
Maintenant que les trois annotations principales de Spring Boot ont été introduites, vous vous demandez peut-être pourquoi l'annotation la plus importante @SpringBootApplication n'en fait pas partie ?
Un œuf de Pâques pour tout le monde, en fait, cette annotation @SpringBootApplication contient les 3 annotations principales ci-dessus. Si aucune configuration personnalisée n'est nécessaire, utilisez simplement l'annotation @SpringBootApplication !
Regardons le code source de l'annotation @SpringBootApplication, tout est clair !
@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 { ... }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!