25 anotaciones del núcleo de Spring Boot

 

1 、 @ SpringBootApplication

Esta es la anotación más importante de Spring Boot. Se usa en la clase principal de Spring Boot para identificar que se trata de una aplicación Spring Boot y se usa para habilitar las diversas capacidades de Spring Boot.

De hecho, esta anotación es   una combinación de estas tres anotaciones @SpringBootConfiguration, @EnableAutoConfigurationy @ComponentScanestas tres anotaciones también se pueden utilizar en lugar de  @SpringBootApplication anotaciones.

2 、 @ EnableAutoConfiguration

Permita que Spring Boot configure automáticamente las anotaciones. Después de activar esta anotación, Spring Boot puede configurar Spring Beans de acuerdo con los paquetes o clases en la ruta de clases actual.

Por ejemplo, existe el paquete Mybatis JAR en la ruta de clases actual, y las MybatisAutoConfiguration anotaciones pueden configurar cada Spring Bean de Mybatis de acuerdo con los parámetros relevantes.

3 、 @ Configuración

Esta es una anotación agregada por Spring 3.0 para reemplazar el archivo de configuración applicationContext.xml Todas las cosas que se pueden hacer en este archivo de configuración se pueden registrar a través de la clase de esta anotación.

4 、 @ SpringBootConfiguration

Esta anotación es una variante de la anotación @Configuration, que solo se usa para modificar la configuración de Spring Boot, o puede ser beneficiosa para 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 para habilitar el escaneo de componentes, es decir, escanear automáticamente la anotación @Component en la ruta del paquete para registrar instancias de bean en el contexto.

6 、 @ Condicional

Esta es una nueva anotación agregada por Spring 4.0.Se usa para identificar un Spring Bean o un archivo de configuración, y la configuración se inicia cuando se cumplen las condiciones especificadas.

7 、 @ ConditionalOnBean

Combinación de  @Conditional anotaciones, cuando hay un Bean especificado en el contenedor, se abre la configuración.

8 、 @ ConditionalOnMissingBean

Las @Conditional anotaciones combinadas  , a @ConditionalOnBean diferencia de las anotaciones,  inician la configuración cuando no hay ningún Bean especificado en el contenedor.

9 、 @ ConditionalOnClass

Combinación de  @Conditional anotaciones, la configuración se activa cuando hay una Clase especificada en el contenedor.

10 、 @ ConditionalOnMissingClass

Las @Conditional anotaciones combinadas  , a @ConditionalOnMissingClass diferencia de las anotaciones,  permiten la configuración solo cuando no hay una Clase especificada en el contenedor.

11 、 @ ConditionalOnWebApplication

@Conditional Notas de combinación  , el tipo de proyecto actual es proyecto WEB para iniciar la configuración.

El proyecto actual tiene los siguientes 3 tipos.

enum Type {

    /**
     * Any web application will match.
     */
    ANY,

    /**
     * Only servlet-based web application will match.
     */
    SERVLET,

    /**
     * Only reactive-based web application will match.
     */
    REACTIVE

}

12 、 @ ConditionalOnNotWebApplication

Combinación de  @Conditional anotaciones, a @ConditionalOnWebApplication diferencia de las anotaciones, la  configuración se inicia solo cuando el tipo de proyecto actual no es un proyecto WEB.

13 、 @ ConditionalOnProperty

@Conditional Anotación de combinación  , cuando el atributo especificado tiene el valor especificado, se abre la configuración.

14 、 @ ConditionalOnExpression

Combinación de  @Conditional anotaciones, la configuración solo se habilita cuando la expresión SpEL es verdadera.

15 、 @ ConditionalOnJava

Combinación de  @Conditional anotaciones, cuando la JVM de Java en ejecución está en el rango de versión especificado, la configuración está activada.

16 、 @ ConditionalOnResource

Combinaciones de  @Conditional anotaciones, cuando hay un recurso especificado en la ruta de clase, se abre la configuración.

17 、 @ ConditionalOnJndi

Combinación de  @Conditional anotaciones, la configuración solo se abre cuando existe el JNDI especificado.

18 、 @ ConditionalOnCloudPlatform

Combinación de  @Conditional anotaciones, la configuración solo se habilita cuando se activa la plataforma en la nube especificada.

19 、 @ ConditionalOnSingleCandidate

@Conditional Anotación combinada  , cuando la clase especificada tiene solo un Bean en el contenedor, o hay varios al mismo tiempo pero es la primera opción, la configuración está activada.

20 、 @ ConfigurationProperties

Se utiliza para cargar configuraciones adicionales (como archivos .properties), que se pueden utilizar en  @Configuration clases de @Beananotación métodos de anotación.

21 、 @ EnableConfigurationProperties

Generalmente se @ConfigurationProperties usa junto con  anotaciones para habilitar el soporte para  @ConfigurationPropertiesbeans de configuración de anotaciones.

22 、 @ AutoConfigureAfter

Usado en la clase de configuración automática, significa que la clase de configuración automática debe configurarse después de configurar la clase de configuración automática especificada por otros.

Por ejemplo, la clase de configuración automática de Mybatis debe ser posterior a la clase de configuración automática de la fuente de datos.

@AutoConfigureAfter(DataSourceAutoConfiguration.class)
public class MybatisAutoConfiguration {

23 、 @ AutoConfigureBefore

Esto es  @AutoConfigureAfter contrario al uso de anotaciones, lo que significa que la clase de configuración automática debe configurarse antes que la clase de configuración automática que se especifica de otro modo.

24 、 @ Importar

Esta es una nueva anotación agregada por Spring 3.0, que se usa para importar una o más  @Configuration clases modificadas por anotaciones, que se usan en Spring Boot.

25 、 @ ImportResource

Esta es una nueva anotación agregada por Spring 3.0 para importar uno o más archivos de configuración de Spring. Esto es muy útil para proyectos antiguos compatibles con Spring Boot, porque algunas configuraciones no se pueden configurar en forma de Java Config y solo se pueden importar usando esta anotación.

Supongo que te gusta

Origin blog.csdn.net/qq_27828675/article/details/107661960
Recomendado
Clasificación