¡Las 25 anotaciones principales de Spring Boot son información útil!
Las 25 anotaciones principales de Spring Boot
1. @SpringBootApplication
Esta es la anotación más central de Spring Boot, utilizada en la clase principal de Spring Boot. encendido, lo que indica que se trata de una aplicación Spring Boot, que se utiliza para habilitar varias capacidades de Spring Boot.
De hecho, esta anotación es una combinación de las tres anotaciones @SpringBootConfiguration, @EnableAutoConfiguration y @ComponentScan. Estas tres anotaciones también se pueden usar para reemplazar la anotación @SpringBootApplication.
2. @EnableAutoConfiguration
Permite que Spring Boot configure automáticamente las anotaciones. Después de activar esta anotación, Spring Boot puede configurar Spring Beans según los paquetes o clases en la ruta de clases actual.
Por ejemplo: si existe el paquete Mybatis JAR en la ruta de clase actual, la anotación MybatisAutoConfiguration puede configurar cada Spring Bean de Mybatis de acuerdo con los parámetros relevantes.
3. @Configuration
Esta es una anotación agregada por Spring 3.0 para reemplazar el archivo de configuración applicationContext.xml. Todo lo que se puede hacer en este archivo de configuración se puede hacer a través de este. Anota la clase para registrarte.
4. @SpringBootConfiguration
Esta anotación es una variante de la anotación @Configuration. Solo se utiliza para modificar la configuración de Spring Boot o para facilitar la expansión posterior de Spring Boot.
5. @ComponentScan
Esta es una anotación agregada por Spring 3.1 para reemplazar la configuración de escaneo de componentes en el archivo de configuración y habilitar el escaneo de componentes, es decir, escanear automáticamente la ruta del paquete. La anotación @Component registra la instancia del bean en el contexto.
Las primeras cinco anotaciones se pueden conocer con más detalle en este artículo "Explicación detallada de las tres anotaciones principales de Spring Boot".
6. @Conditional
Esta es una nueva anotación agregada por Spring 4.0. Se utiliza para identificar un Spring Bean o un archivo de configuración. La configuración solo se habilitará cuando se especifique. se cumplen las condiciones.
7. @ConditionalOnBean
Combinado con la anotación @Conditional, la configuración solo se habilitará cuando haya un Bean específico en el contenedor.
8. @ConditionalOnMissingBean
Combinado con la anotación @Conditional, a diferencia de la anotación @ConditionalOnBean, la configuración solo se habilita cuando no hay ningún Bean especificado en el contenedor.
9. @ConditionalOnClass
Combinado con la anotación @Conditional, la configuración solo se habilitará cuando haya una Clase especificada en el contenedor.
10. @ConditionalOnMissingClass
Combinar la anotación @Conditional es lo opuesto a la anotación @ConditionalOnMissingClass. La configuración solo está habilitada cuando no hay una clase especificada en el contenedor.
11. @ConditionalOnWebApplication
Combinada con la anotación @Conditional, la configuración se habilita solo cuando el tipo de proyecto actual es un proyecto WEB.
Hay tres tipos de proyectos actuales.
enum Type {
}
12. @ConditionalOnNotWebApplication
Anotación @Conditional combinada, a diferencia de la anotación @ConditionalOnWebApplication, el proyecto actual escriba Sólo habilita la configuración si no es un proyecto WEB.
13. @ConditionalOnProperty
Combinada con la anotación @Conditional, la configuración solo se habilita cuando la propiedad especificada tiene el valor especificado.
14. @ConditionalOnExpression
Combinada con la anotación @Conditional, la configuración solo se habilita cuando la expresión SpEL es verdadera.
15. @ConditionalOnJava
Combinada con la anotación @Conditional, la configuración solo se habilita cuando la JVM Java en ejecución está en el rango de versión especificado.
16. @ConditionalOnResource
Combinado con la anotación @Conditional, la configuración solo se habilitará cuando haya un recurso específico en la ruta de clase.
17. @ConditionalOnJndi
Combinado con la anotación @Conditional, la configuración solo se habilitará cuando exista el JNDI especificado.
18. @ConditionalOnCloudPlatform
Combinada con la anotación @Conditional, la configuración solo se habilitará cuando se active la plataforma en la nube especificada.
19. @ConditionalOnSingleCandidate
Combinado con la anotación @Conditional, la configuración solo se habilita cuando la clase especificada tiene solo un Bean en el contenedor, o hay varios Beans al mismo tiempo. tiempo pero son los preferidos.
20. @ConfigurationProperties
Se utiliza para cargar configuraciones adicionales (como archivos .properties), que se pueden usar en clases anotadas @Configuration o métodos anotados @Bean.
21. @EnableConfigurationProperties
Generalmente se usa junto con la anotación @ConfigurationProperties para habilitar la compatibilidad con los beans de configuración de la anotación @ConfigurationProperties.
22. @AutoConfigureAfter
Se utiliza en la clase de configuración automática, lo que indica que la clase de configuración automática debe configurarse después de que se configure la otra clase de configuración automática especificada.
Por ejemplo, la clase de configuración automática de Mybatis debe colocarse después de la clase de configuración automática de la fuente de datos.
23. @AutoConfigureBefore
Esto es lo opuesto a la anotación @AutoConfigureAfter, que indica que la clase de configuración automática debe configurarse antes que la otra clase de configuración automática especificada.
24. @Import
Esta es una nueva anotación agregada por Spring 3.0, que se usa para importar una o más clases modificadas por la anotación @Configuration. Esta es ampliamente utilizada en Spring. Bota.
25. @ImportResource
Esta es una nueva anotación agregada por Spring 3.0, que se utiliza para importar uno o más archivos de configuración de Spring. Esto es muy útil para la compatibilidad de Spring Boot con los antiguos. proyectos, porque algunos Si la configuración no se puede configurar a través de Java Config, solo se puede importar usando esta anotación.
Los amigos ingenieros de Java pueden unirse a Java High Concurrency: 957734884. El grupo proporciona materiales gratuitos de aprendizaje de arquitectura Java (que incluyen alta disponibilidad, alta concurrencia, alto rendimiento y distribución, ajuste del rendimiento de Jvm, código fuente de Spring, MyBatis (, Netty, Redis, Kafka, Mysql, Zookeeper, Tomcat, Docker, Dubbo, Nginx y otros puntos de conocimiento de los datos de la arquitectura) haga un uso razonable de cada minuto y cada segundo de su tiempo para aprender y mejorar, y no lo use. "Ya no" ¡Es hora de “encubrir la pereza mental! ¡Mientras seas joven, trabaja duro y dale una explicación a tu yo futuro!