La segunda versión de Spring Boot, explicación detallada de los archivos de configuración: ¡la más completa de la historia!
?Spring Boot proporciona oficialmente dos formatos de archivos de configuración de uso común, a saber, propiedades y YML. YML es más joven y tiene más capas que el formato de propiedades. Se recomienda encarecidamente utilizar el formato YML
Cuando se inicia el proyecto Spring Boot, escaneará application.properties o application.yml como el archivo de configuración predeterminado.
Leer el código fuente con las manos desnudas
Método de carga de la clase interna Loader
Método getSearchLocations()
asResolvedSet() p>
A continuación se muestra una lista de archivos de configuración en orden de mayor a menor prioridad. Archivos de configuración ordenados por prioridad:
Tome la configuración del puerto de la aplicación como ejemplo para obtener una comprensión preliminar del archivo de configuración Spring Boot
terminación del sufijo de propiedades (application.properties)
terminación del sufijo yml/yaml (application.yml/application.yaml)
Número, cadena, booleano, fecha
Objeto, mapa
Matriz
Número, Cadena, Booleano, Fecha
Objeto, Mapa
Matriz
@ ConfigurationProperties(prefijo = "persona") explicado
Anotaciones en clases
Anotaciones en métodos
Resumen
La anotación ?@ConfigurationProperties le permite vincular fácilmente archivos de configuración al tipo de entidades.
?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 (application.properties, application.yml, application.aml), entonces, ¿cómo obtenemos los valores? desde una aplicación personalizada ¿Qué pasa con la obtención de valores de .properties, application.yml y application.aml?
?No se preocupe, hay una solución, es decir, agregar otra anotación: @PropertySource(value = "classpath:custom-profile.properties"), la anotación @PropertySource se presentará a continuación. Espere pacientemente nuestra presentación.
Utilice la anotación @PropertySource
Archivos de configuración correspondientes
Cree dos archivos de configuración: custom-profile.yml y custom-profile1.yml, y agréguelos La introducción es el siguiente.
Podemos utilizar el método de variable de control para realizar pruebas, por lo que no entraré en detalles aquí.
Vayamos directamente a la conclusión: el orden de carga del resorte es de izquierda a derecha. Después de la carga, se sobrescribirá el valor del atributo cargado primero.
Otra cosa a tener en cuenta: @PropertySource carga xxx.properties de forma predeterminada y no puede cargar archivos de configuración en formato YML.
¿Cómo solucionarlo? El siguiente es el método para resolver este problema
El archivo de configuración correspondiente:
Write PropertiesController
Extensión
configuración principal application.yml file
archivo de configuración de desarrollo application-dev.yml
archivo de configuración de producción application-prod.yml
archivo de configuración de prueba application-test.yml
(1) Archivo de configuración principal: configurar las opciones de activación
(2) Otros archivos de configuración: especificar el entorno (igual que yml. (Igual que yml, pero en forma de clave=valor, el tres archivos de configuración son para: application-dev.properties, application-prod.properties, application-test.properties)
Ya sea utilizando el método de bloqueo de múltiples documentos anterior o creando un nuevo application-test.yml archivo, puede especificar spring.profiles.active=test para activar el perfil especificado en el archivo de configuración.
Gracias por leer este artículo. Deseo que todos se hagan ricos pronto y alcancen la libertad financiera.
Escribir no es fácil. ¡Dale me gusta, comenta y marca como favorito!