Explicación detallada del código fuente subyacente de Springboot
? El inicio del proyecto Spring Boot escaneará application.properties o application.yml en las siguientes ubicaciones como archivo de configuración predeterminado.
Código fuente triturado a mano
Método de carga del cargador de clases interno
Método GetSearchLocations()
asResolvedSet()
p>
El orden de los archivos de configuración de alta prioridad a baja prioridad es el siguiente:
Tome la configuración del puerto de la aplicación como ejemplo para experimentar el archivo de configuración Spring Boot por primera vez
Fin del sufijo de atributo (application.properties)
Fin del sufijo yml/yaml (application.yml/application.yaml)
Números, cadenas, booleanos valores, fechas
Objeto, mapa
Disposición
Número, cadena, valor booleano, fecha
Objeto, mapa
Disposición
@ propiedades de configuración(prefijo = " persona ")
Anotar un curso
Marcar el método
Finalmente
? La anotación @ConfigurationProperties facilita la vinculación de archivos de configuración con clases de entidad.
? Vale la pena señalar que la anotación @ConfigurationProperties solo admite la obtención de valores de los archivos de configuración predeterminados de Spring Boot, a saber, application.properties, application.yml y application.yaml. ¿Cómo obtener valores de archivos de configuración personalizados?
? No se preocupe, hay una solución, que es agregar una anotación: @PropertySource (valor = "class path:custom-profile. properties") La anotación @ propiedad fuente se presentará a continuación. Tenga paciencia y lea a continuación.
Anotar con @PropertySource
Archivos de configuración correspondientes
Cree dos archivos de configuración, custom-profile.yml y custom-profile1.yml, que se presentan a continuación .
Podemos utilizar el método de control de variables para realizar pruebas, por lo que no entraré en detalles aquí.
Concluimos directamente que Spring se carga de izquierda a derecha, y este último sobrescribirá al anterior.
Otra cosa a tener en cuenta es que @PropertySource carga archivos de configuración de tipo xxx.properties de forma predeterminada y no puede cargar archivos de configuración en formato YML. ¿Cómo solucionarlo? Resolvamos este problema.
Archivo de configuración correspondiente:
Controlador de atributos de escritura
Funciones extendidas
Archivo de configuración principal Application.yml
Archivo de configuración de desarrollo Application-dev.yml
Archivo de configuración de producción Application-product.yml
Archivo de configuración de prueba Application-test.yml
( 1) Configuración principal archivo: configurar opciones de activación
(2) Otros archivos de configuración: especifique a qué entorno pertenece (igual que yml, pero en forma de clave = valor, los tres archivos de configuración son: application-dev.properties , propiedades-producto-aplicación, propiedades-prueba-aplicación).
? Ya sea que utilice el método de bloqueo de múltiples documentos anterior o cree un nuevo archivo application-test.yml, puede especificar spring.profiles.active=test en el archivo de configuración para activar el perfil especificado.
Gracias por leer el artículo de Xiao Sheng. Deseo que todos se hagan ricos lo antes posible y alcancen la libertad financiera.
No es fácil escribir, hay que darle me gusta, comentar y coleccionar, ¡gracias, gracias! ! !