Spring @ConfigurationProperties usando YAML - N Conceptos de codificación

En este artículo, aprenderemos a usar @Propiedades de configuración con .yml archivo en lugar de .Propiedades archivo para la configuración en Spring Boot Project.

Índice
  1. aplicación.yml
  2. Sugerencias de sintaxis YAML
  3. @Propiedades de configuración
  4. Encuadernación informal
  5. Resumen

aplicación.yml

YAML (YAML no es un lenguaje de marcado) que se define como .yml archivo, se vuelve popular para la configuración en comparación con el tradicional .Propiedades archivo debido a su simplicidad y legibilidad.

# Peson properties
person:
  # string
  name: Ashish Kumar Lahoti
  # string
  occupation: programmer
  # int
  age: 33
  # float
  gpa: 3.5
  # double
  fav_num: 1e+10
  # boolean
  male: true
  # date
  birthday: 1986-08-22
  # empty
  flaws: null
  # array
  hobbies:
    - bike riding
    - watching movies
    - online games
    - cooking
  # array
  movies: ["Dark Knight", "Spider Man", "Thor"]
  # map
  assets: {Car: 1, Bike: 2, Home: 1}
  # complex map
  size:
    t-shirt:
      us: XL
      uk: L
    shoes:
      us: 8.5
      uk: 6.5 
  # object array
  friends:
    - name: "eve"
      age: 28
    - {name: "adam", age: 26}
    -
      name: "chloe"
      age: 40
  # multi line string using >
  description: >
    Lorem ipsum dolor sit amet,
    consectetur adipiscing elit, sed
    do eiusmod tempor incididunt ut
    labore et dolore magna aliqua    
  # multi line string with line break preserved using |
  signature: |
    Thanks & Regards,
    Ashish Kumar Lahoti
    email - lahoti.ashish20@gmail.com    

En el aplicación.ymlpodemos definir: -

  1. tipos primitivos - Cadena, entero, flotante, doble, booleano
  2. Con fecha de en formatos de fecha estándar como AAAA-MM-DD
  3. Propiedades con valores vacíos o nulos
  4. Desplegar en dos maneras:-
    • Agregue una nueva línea para cada elemento con el prefijo -
    • Agregar valores separados por comas como [ item1, item2, …]
  5. Mapa - pares clave-valor como { Clave1: valor1, Clave2: valor2, …. }
  6. tabla de objetos
  7. Cadena multilínea usando el prefijo > Donde |. Tenga en cuenta que el salto de línea se conserva cuando utiliza |

Sugerencias de sintaxis YAML

En YAML:

  • El espacio importa
  • La línea comienza con un hash (#) son comentarios y se ignoran.

En general, no es necesario utilizar comillas "" alrededor de valores de cadena en YAML. Se requiere una cotización si:

  • incluye dos puntos (:), hash(#), mayor que (>), o cualquier carácter con un significado especial en YAML,
  • parece un número (decimal, hexadecimal, exponencial E Donde e anotación, etc.),
  • o es una de las palabras booleanas reservadas de YAML (verdadero, falso, no, desactivado, etc.).

@Propiedades de configuración

Definimos la persona propiedades en nuestro aplicación.yml. Asociemos estas propiedades con un archivo de clase de configuración usando @ConfigurationProperties anotación a nivel de clase

@Configuration
@ConfigurationProperties("person")
public class PersonConfig {

	private String name;
	private String occupation;
	private int age;
	private float gpa;
	private double favNum;
	private boolean male;
	private String birthday;
	private String flaws;
	private String[] hobbies;
	private List<String> movies;
	private Map<String, Integer> assets;
  private Map<String, Map<String, String>> size;
	private List<Friend> friends;
	private String description;
	private String signature;	  
    // ... getters and setters
}

class Friend {

	private String name;
	private int age;
    // ...getters and setters
}

nosotros hemos anotado PersonConfig clase con @ConfigurationProperties("person"). Spring boot inicializará los campos de PersonConfig con valores de .yml archivo con el prefijo propiedad "persona" para, p. PersonConfig's El valor del campo de nombre se inicializará desde la propiedad "person.name".

Encuadernación informal

bota de primavera @ConfigurationProperties soporte de anotaciones encuadernación relajada Esto significa que

person.fav-num
person.favNum
person.fav_num
person.FAV_NUM

todo lo anterior .yml el formato de propiedad se puede asignar a PersonConfig's campo favNum.

Resumen

En este artículo, aprendimos que configurar Spring Boot usando .yml El archivo es mucho más simple en comparación con .Propiedades expediente. si comparamos .yml archivo de ejemplo anterior con .Propiedades expediente. Se verá algo como esto:-

aplicación.propiedades
person.name = Ashish Kumar Lahoti
person.occupation = programmer
person.age = 33
person.gpa = 3.5
person.fav_num = 1e+10
person.male = true
person.birthday = 1986-08-22
person.flaws = null
person.hobbies[0] = bike riding
person.hobbies[1] = watching movies
person.hobbies[2] = online games
person.hobbies[3] = cooking
person.movies = ["Dark Knight", "Spider Man", "Thor"]
person.assets = {'Car': 1, 'Bike': 2, 'Home': 1}
person.friends[0].name = "adam"
person.friends[0].age = 28
person.friends[1].name = "ben"
person.friends[1].age = 26
person.friends[1].name = "chloe"
person.friends[1].age = 40
person.description = Lorem ipsum dolor sit amet,n consectetur adipiscing elit, sedn do eiusmod tempor incididunt ut n labore et dolore magna aliqua
person.signature = Thanks & Regards, n Ashish Kumar Lahoti n email - lahoti.ashish20@gmail.com

Si quieres conocer otros artículos parecidos a Spring @ConfigurationProperties usando YAML - N Conceptos de codificación puedes visitar la categoría Tutoriales.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas