Red de conocimiento informático - Problemas con los teléfonos móviles - Notas de arranque de primavera

Notas de arranque de primavera

1. ApplicationContextInitializer, utilizado para inicializar antes de la actualización del contexto de Spring. En este momento, se ha creado ApplicationContext, pero no hay actualización (). ApplicationContextInitializer realiza operaciones iniciales en ApplicationContext.

2. SpringApplicationRunListener, que transmite eventos en cada ciclo que ejecuta ApplicationContext para que ApplicationListener pueda monitorear estos eventos.

3.Runner, el corredor de posprocesamiento del contexto Spring puede ser la clase de implementación de dos interfaces: org. spring framework.applicationrunnerorg.spring framework boot.De hecho, no hay diferencia, excepto que los tipos de parámetros aceptados en la interfaz. Uno es el tipo ApplicationArguments empaquetado y el otro es el tipo de matriz indefinida de cadena directa. Por lo tanto, puedes elegir la interfaz correspondiente según tus necesidades.

Cuando se inicia SpringBoot, no importa qué método se llame, se construirá una instancia de SpringApplication y luego se llamará al método de ejecución de esta instancia, que es para iniciar SpringBoot.

Antes de llamar al método de ejecución, es decir, al construir SpringApplication, se realizará la inicialización. Durante la inicialización, se harán las siguientes cosas:

Una vez completada la construcción de SpringApplication, Se llama al método run para iniciar SpringApplication. Cuando se ejecuta el método de ejecución, hará lo siguiente:

El selector de importación de configuración automática se introduce en la etiqueta @springbootappication, donde se llama al método selectImports(). El método org.spring framework.boot.autoconfigure.enableautoconfigurationimportselector#getCandidateconfigurations se llama en el método. SpringFactoryLoader se utiliza para cargar archivos con EnableAutoConfiguration como palabra clave en el archivo spring.factories en la carpeta META-INF. Los archivos cargados son todos archivos de configuración de Java (configuración predeterminada) y @ condicional (clase

Una clase relativamente básica e importante que ejecuta y carga el archivo spring.factories en MATE-INF.

La etiqueta @Conditional es la raíz de todas las etiquetas relacionadas con condiciones.

Las etiquetas de condición en el código fuente son analizadas por ConditionEvaluator, de la siguiente manera: org . spring framework annotation . AnnotationBeanpostprocessor registrado y otras clases de la siguiente manera

ConfigurationClassPostProcessor es un BeanFactoryPostProcessor, por lo que postprocesará BeanDefinitionRegistry o BeanDefinition después de la creación (BeanFactory se ha creado en el método de actualización, dependiendo de dónde se ejecute). p>

El principio del análisis de importación se basa en el postprocesador de clase de configuración. El proceso de carga del postprocesador de clase de configuración se menciona anteriormente. Analiza principalmente por qué la etiqueta @import introduce la configuración pero puede llamar al método selector org.spring framework.context. .annotation.configurationclasspostprocess o #postprocessbeandeditionregistry org. spring framework. anotación. titular de la definición de frijol gt;) org. marco de primavera. anotación configuraciónclassparser # procesoDeferredimportselectors Luego, llame al método selectImports de la siguiente manera.