[Spring Boot] Configuración del sistema Spring Boot: archivo de configuración del sistema

archivo de configuración del sistema

El archivo de configuración del sistema de Spring Boot, incluido el uso de los archivos de configuración application.properties y application.yml y la diferencia entre los archivos de configuración YML y Properties, finalmente presenta cómo cambiar el patrón de inicio de Spring Boot.

1.aplicación.propiedades

Spring Boot admite archivos de configuración en dos formatos diferentes: uno es Propiedades y el otro es YML. Spring Boot usa application.properties como el archivo de configuración del sistema de forma predeterminada.Después de que el proyecto se haya creado correctamente, el archivo application.properties se generará en el directorio de recursos de forma predeterminada. Este archivo contiene la configuración global para el proyecto Spring Boot. Podemos configurar todos los elementos de configuración compatibles con Spring Boot en el archivo application.properties, como el número de puerto, la conexión a la base de datos, el registro, el patrón de inicio, etc. A continuación, se introducirán algunos conocimientos relacionados con la configuración en el proceso de desarrollo del proyecto Spring Boot.

(1) Gramática básica

Una vez que el proyecto Spring Boot se haya creado correctamente, el archivo application.properties se creará automáticamente en el directorio de recursos predeterminado. Además es muy sencillo de utilizar, el formato de configuración es el siguiente:

# 服务器端口配置
server.port=8081

En el ejemplo anterior, se configura el puerto de inicio de la aplicación. Si no configura este elemento, el puerto 8080 se usa de manera predeterminada; si necesita usar otros puertos, modifique el puerto de inicio del sistema por server.port=8081.

Además, los elementos de configuración en el archivo de propiedades pueden estar desordenados, pero para garantizar que el archivo de configuración sea claro y fácil de leer, se recomienda juntar los elementos de configuración relacionados, por ejemplo:

inserte la descripción de la imagen aquí
El ejemplo anterior reúne la configuración relacionada con la plantilla thymeleaf, que se ve clara y clara, lo que facilita encontrar rápidamente todas las configuraciones de thymeleaf.

(2) Orden de carga del archivo de configuración

Los archivos de configuración del proyecto Spring Boot se almacenan en el directorio de recursos de forma predeterminada. De hecho, cuando se inicia el sistema Spring Boot, leerá los archivos de configuración en cuatro rutas diferentes:

1) El directorio de configuración bajo el directorio raíz del proyecto.

2) El directorio raíz del proyecto.

3) El directorio de configuración bajo el classpath.

4) directorio de ruta de clases.

Spring Boot cargará todos los archivos de configuración principales desde estas cuatro ubicaciones, y la prioridad de los archivos application.properties en estas cuatro ubicaciones se reducirá en el orden indicado anteriormente. Si el mismo atributo aparece en estos 4 archivos, prevalecerá el archivo con mayor prioridad.

(3) Modificar el nombre del archivo de configuración predeterminado

Algunas personas pueden preguntar, ¿debe llamarse application.properties el archivo de configuración del proyecto? Por supuesto que no, podemos personalizar el nombre del archivo de configuración modificando la clase de inicio del proyecto y llamando al método properties() de la clase SpringApplicationBuilder. El código de ejemplo es el siguiente:

inserte la descripción de la imagen aquí

En el ejemplo anterior, cuando se inicia y carga el proyecto Spring Boot, el archivo de configuración con el nombre cambiado se lee de forma predeterminada y el nombre del archivo application.yml cargado de forma predeterminada se puede modificar.

2.aplicación.yml

application.yml es un archivo de configuración con el sufijo yml y que utiliza YAML (YAML no es un lenguaje de marcas). En comparación con lenguajes de marcado como XML, la estructura YMAL es más clara y fácil de leer, y es más adecuada para usar como archivo de configuración de propiedades.

(1) Gramática básica

La sintaxis básica de YML es la forma de par clave-valor de clave: (espacio) valor, y se debe agregar un espacio después de los dos puntos. La relación jerárquica de los atributos se controla mediante la sangría de los espacios.Mientras una columna de datos esté alineada a la izquierda, todos estarán en el mismo nivel. El formato específico es el siguiente:

inserte la descripción de la imagen aquí

En el ejemplo anterior, los atributos como el nivel de registro y la ruta del archivo del sistema se personalizan y configuran. Puede ver que hay dos elementos de subconfiguración en registro, nivel y archivo.

Aunque el formato del archivo YML es simple e intuitivo, tiene altos requisitos de formato. Cuando utilice el archivo de configuración YML, debe prestar atención a los siguientes puntos:

1) Debe haber un espacio entre el valor del atributo y los dos puntos.Si el nombre: Weiz es correcto, se informará un error si se usa el nombre: Weiz.
2) Preste atención a la sangría y alineación entre atributos.
3) No se permiten tabulaciones para sangría, solo se permiten espacios.
4) Los atributos y valores distinguen entre mayúsculas y minúsculas.

(2) Tipo de datos

Los archivos YML están centrados en los datos y admiten múltiples formatos de datos, como matrices, objetos JSON y mapas, por lo que son más adecuados para usar como archivos de configuración.

(1) Valores ordinarios (números, cadenas, booleanos)

Los datos ordinarios se escriben directamente en forma de pares clave-valor k: v. Los tipos o cadenas de valores ordinarios no necesitan agregar comillas simples o comillas dobles de forma predeterminada.

Por supuesto, también puede usar comillas dobles ("") para escapar de los caracteres especiales en la cadena. Después de escapar, los caracteres especiales representan su propio significado, por ejemplo:

name: "zhangsan \n lisi"

El ejemplo anterior generaría:

zhangsan
lisi

El uso de comillas simples ('') no evita los caracteres especiales, todos los caracteres se tratan como caracteres normales, como datos de cadena, por ejemplo:

name: 'zhangsan \n lisi'

El ejemplo anterior generará: zhangsan \n lisi. Los caracteres "\n" se tratan como cadenas normales sin escaparse como líneas nuevas.

(2) Objeto, Mapa (propiedades y valores)

Los objetos también se presentan en forma de pares clave-valor k:v, pero la relación entre cada atributo y el valor del objeto se escribe mediante salto de línea y sangría. El código de ejemplo es el siguiente:

person:
	lastName: zhangsan
	age: 20

Si utiliza el método de escritura en línea, puede escribir las propiedades y los valores del objeto en formato JSON. El método de escritura específico es el siguiente:

person: {
    
    lastName: zhangsan, age: 20}

(3) Matrices (Lista, Conjunto)

Las matrices representan los elementos de la matriz en forma de valor -. El método de escritura específico es el siguiente:

persons:
 -zhangsan
 -lisi
 -wangwu

También puede usar el método de escritura en línea, y la matriz usa la forma de corchetes. El método de escritura específico es el siguiente:

persons: [zhangsan, lisi, wangwu]

Podemos ver que además de admitir tipos de datos básicos, los archivos YML también admiten formatos como objetos, mapas, JSON y matrices, de modo que los tipos de datos deseados se pueden definir directamente en el archivo de configuración sin conversión adicional. Esta es una de las razones por las que a los programadores les gusta usar application.yml.

3. La diferencia entre Propiedades y archivos de configuración YML

El archivo de configuración en Spring Boot tiene dos formatos, Propiedades o YML. En general, los dos se pueden usar a voluntad y podemos elegir el formato de archivo de configuración apropiado de acuerdo con nuestros hábitos de uso. ¿Son los dos exactamente iguales? Ciertamente no, la diferencia entre YML y los archivos de configuración de Propiedades es la siguiente:

1) Los archivos YML están centrados en los datos y son muy amigables para el soporte y la visualización de datos.

2) Los requisitos de formato del archivo de propiedades no son tan estrictos, mientras que el archivo YML usa sangría de espacios para controlar la relación jerárquica. Los requisitos de formato son relativamente altos y es fácil cometer errores cuando el formato de sangría es incorrecto. .

3) Los archivos de propiedades admiten anotaciones @PropertySource, pero los archivos YML no.

4) Los archivos YML admiten el uso de bloques de documentos múltiples, que es muy flexible de usar.

5) La configuración de las propiedades tiene mayor prioridad que los archivos YML. Dado que el archivo YML se carga antes que el archivo de propiedades, si los dos archivos tienen la misma configuración, la configuración de las propiedades cargadas más tarde sobrescribirá la configuración del YML anterior.

4. Combate real: personaliza el patrón de inicio del sistema

Sabemos que cuando se inicia el programa Spring Boot, la consola generará el patrón de inicio (Banner) y la información de la versión del símbolo Spring que consiste en una cadena de caracteres (ver la figura a continuación).

inserte la descripción de la imagen aquí

¿Se puede personalizar el patrón de inicio que viene con Spring Boot?

La respuesta es sí. El siguiente ejemplo muestra cómo personalizar el patrón de inicio de Spring Boot.

Paso 01 Cree un nuevo banner.txt en el directorio de recursos del proyecto. El código de muestra es el siguiente:

inserte la descripción de la imagen aquí
En la configuración anterior, ${} se usa para obtener información de configuración relevante en el archivo de configuración application.properties, como la versión de Spring Boot, la versión de la aplicación, el nombre de la aplicación y otra información.

${AnsiColor.BRIGHT_RED}:设置控制台中输出内容的颜色,可以自定义,具体参考org.springframework.boot.ansi.AnsiColor。
${application.version}:用来获取MANIFEST.MF文件中的版本号,这就是在Application.java中指定SpringVersion.class的原因。
${application.formatted-version}:格式化后的{
    
    application.version}版本信息。
${spring-boot.version}:Spring Boot的版本号。
${spring-boot.formatted-version}:格式化后的{
    
    spring-boot.version}版本信息。步骤02 在application.properties中配置banner.txt的路径等信息。

Paso 02 Configure información como la ruta de banner.txt en application.properties.

inserte la descripción de la imagen aquí

En la configuración anterior, establezca la ruta del archivo banner.txt, la versión de la aplicación, la versión de Spring Boot y otra información en la aplicación.

Paso 03 Inicie el proyecto y verifique si el patrón de banner de inicio modificado tiene efecto, como se muestra en la figura.

inserte la descripción de la imagen aquí

A partir de la salida del registro de inicio del sistema, podemos ver que el patrón de inicio del sistema se ha convertido en nuestro patrón personalizado, es decir, el patrón de inicio predeterminado de Spring Boot se ha cambiado a un patrón de inicio personalizado.

Spring Boot también admite el uso de archivos de imagen en formatos GIF, JPG y PNG para definir patrones de banner. Por supuesto, la imagen no se envía directamente a la consola, pero los píxeles de la imagen se analizan y convierten en caracteres codificados en ASCII antes de enviarse a la consola.

Supongo que te gusta

Origin blog.csdn.net/weixin_45627039/article/details/131686093
Recomendado
Clasificación