Capítulo avanzado de SpringBoot de autoaprendizaje


1. Análisis del principio SpringBoot

1. Configuración automática de SpringBoot

1.1, Condición

La condición es una función de juicio condicional agregada en Spring 4.0, a través de la cual se puede realizar la creación selectiva de operaciones Bean.

① Defina la clase de condición: la clase personalizada implementa la interfaz de condición, reescribe el método de coincidencias, realiza un juicio lógico en el método de coincidencias y devuelve un valor booleano. El método de coincidencias tiene dos parámetros:
• contexto: objeto de contexto, que puede obtener valores de propiedad, cargadores de clases, BeanFactory, etc.
• metadata: objeto de metadata, utilizado para obtener atributos de anotación.

② Condiciones de evaluación: al inicializar un bean, use la anotación @Conditional (clase.clase condicional)
• Anotaciones condicionales comunes proporcionadas por SpringBoot:
• ConditionalOnProperty: determine si hay propiedades y valores correspondientes en el archivo de configuración antes de inicializar el bean
• ConditionalOnClass: determine si el entorno es El bean se inicializa solo cuando hay un archivo de bytecode correspondiente
• ConditionalOnMissingBean: el bean se inicializa solo cuando no hay un bean correspondiente en el entorno

1.2 Cambiar el servidor web incorporado

El entorno web de SpringBoot usa Tomcat como el servidor integrado de forma predeterminada. De hecho, SpringBoot proporciona 4 servidores integrados para que elijamos, y podemos cambiar fácilmente.
La primera es la clase de configuración y las siguientes cuatro son servidores integrados.
inserte la descripción de la imagen aquí

1.3, anotación @Habilitar*

SpringBoot proporciona muchas anotaciones que comienzan con Habilitar, que se utilizan para habilitar dinámicamente ciertas funciones. El principio subyacente es usar la anotación @Import para importar algunas clases de configuración para lograr una carga dinámica de beans.

1.4, @Importar anotación

@Enable*La capa subyacente se basa en la anotación @Import para importar algunas clases, y Spring cargará las clases importadas mediante @Import en el contenedor IOC. Y @Import proporciona 4 usos:
① importar Bean
② importar clase de configuración
③ importar clase de implementación ImportSelector. Generalmente se usa para cargar la clase en el archivo de configuración
④ importar la clase de implementación ImportBeanDefinitionRegistrar.

1.5, anotación @EnableAutoConfiguration

• La anotación @EnableAutoConfiguration usa internamente @Import(AutoConfigurationImportSelector.class) para cargar clases de configuración.
• Ubicación del archivo de configuración: META-INF/spring.factories. Una gran cantidad de clases de configuración se definen en este archivo de configuración. Cuando se inicia la aplicación SpringBoot, estas clases de configuración se cargarán automáticamente y los beans se inicializarán. • No todos los beans se ser inicializado
La condición se usa en la clase de configuración para cargar beans que cumplen las condiciones

2. Mecanismo de monitoreo SpringBoot

Comparado:

Mecanismo de supervisión de Java:
el mecanismo de supervisión de SpringBoot es en realidad una encapsulación del mecanismo de supervisión de eventos proporcionado por Java.
El mecanismo de monitoreo de eventos en Java define los siguientes roles:
① Evento: Evento, objeto que hereda la clase java.util.EventObject
② Fuente del evento: Fuente, cualquier objeto Objeto
③ Escucha: Escucha, implementando el objeto de interfaz java.util.EventListener

Mecanismo de monitoreo de SpringBoot
SpringBoot devolverá la llamada a varios oyentes cuando se inicie el proyecto.Podemos implementar estas interfaces de escucha y completar algunas operaciones cuando se inicie el proyecto. ApplicationContextInitializer, SpringApplicationRunListener, CommandLineRunner, ApplicationRunner

Dos, monitoreo SpringBoot

SpringBoot tiene su propia función de monitoreo Actuator, que puede ayudar a monitorear el funcionamiento interno del programa, como el estado de monitoreo, el estado de carga de Bean, las propiedades de configuración, la información de registro, etc.

inserte la descripción de la imagen aquí
Supervisión de SpringBoot - Spring Boot Admin
• Spring Boot Admin es un proyecto comunitario de código abierto para administrar y monitorear aplicaciones SpringBoot.
• Spring Boot Admin tiene dos roles, cliente (Cliente) y servidor (Servidor).
• La aplicación se registra con el servidor de administración de Spring Boot como un cliente de administración de Spring Boot
• La interfaz de la interfaz de usuario del servidor de administración de Spring Boot envía información de monitoreo en el extremo del actuador del cliente de administración de Spring Boot

3. Implementación del proyecto SpringBoot

Una vez desarrollado el proyecto SpringBoot, admite dos formas de implementación en el servidor:
① paquete jar (recomendación oficial)
② paquete war

Resumir


De acuerdo con el enlace de aprendizaje de autoaprendizaje del programador dark horse en Bilibili.Materiales de aprendizaje
:
materiales de aprendizaje de SpringBoot

Supongo que te gusta

Origin blog.csdn.net/TotoroChinchilla/article/details/126134498
Recomendado
Clasificación