Hoy comparto con ustedes la lectura de la información de configuración personalizada; Recientemente, hay planes para escribir blogs, y haré cruzar artículos sobre Springboot y SpringCloud, porque se espera que Springboot tenga muchos capítulos, por lo que los artículos de la nube tendrán que esperar hasta mucho tiempo antes de que puedan escribirlos. La razón para compartir estos dos artículos es principalmente para facilitar su búsqueda de información y desempeñar un papel conveniente para que los amigos lo usen;
•@lectura de etiqueta de valor (el nodo de Application.yml se puede leer directamente de forma predeterminada)
• Aplicación de mapeo de entidad.Ml Node
• Entity maps nodos para archivos de configuración personalizados
• La entidad mapea los valores de los nodos de nivel múltiple
@Value Tag Reading (el nodo de Application.yml se puede leer directamente de forma predeterminada)
Primero, personalice la siguiente información del nodo en el archivo de configuración de aplicaciones predeterminadas.yml:
Shenniu: Nombre: Shenniu 003
Luego, el valor del atributo se obtiene directamente a través de la etiqueta @Value. Para mostrar mejor los datos, la interfaz A /conf /name se define en la interfaz:
@Value ("$ {shenniu.name}") Nombre de cadena privada; @GetMapping ("/conf/defname") public String getDefName () {return this.name; }Después de correr, los efectos son los siguientes:
Aplicación de mapeo de entidad.Ml Node
Para asignar el valor de archivo de configuración predeterminado con las clases de entidad, solo necesita agregar un prefijo de nombre de propiedad. Por supuesto, esto es solo para las propiedades en el archivo Aplication.yml predeterminado:
@Configuration@ConfigurationProperties (prefix = "shenniu") clase pública shenniuconf {name de cadena privada; public String getName () {nombre de retorno; } public void setName (nombre de cadena) {this.name = name; } URL de URL privada; Public url getUrl () {return url; } public void seturl (url url) {this.url = url; } cadena privada DES; public String getdes () {return des; } public void setDes (String des) {this.des = des; } URL de clase estática pública {String private String BlogUrl; public String getBlogurl () {return BlogUrl; } public void setBlogurl (String BlogUrl) {this.blogurl = BlogUrl; }}}He agregado varias propiedades a la clase de entidad, para la comodidad de las pruebas posteriores; Para configurar la aplicación Aquí se agrega la interfaz /conf /name para emitir el valor del objeto asignado:
@Autowired privado shenniuconf shenniuconf; @GetMapping ("/conf/name") public String getName () {return shenniuconf.getName (); }Se obtiene el mismo efecto que la anotación de @Values, lo que significa que los atributos personalizados de la entidad y el archivo de configuración se han coincidente correctamente, y los nombres de los atributos principales de la entidad deben ser consistentes con los nombres de nodo del archivo de configuración;
Entity maps nodos para archivos de configuración personalizados
Es muy simple leer los valores de las propiedades en Application.yml. A veces necesita personalizar su propio archivo de configuración, como my.properties aquí, y el contenido del archivo es el siguiente:
shenniu.des = Amo mi patria shenniu.url.blogurl = http: //www.a.com
La entidad de mapeo todavía se usa anteriormente, pero la anotación @PropertySource ("classpath: my.properties") debe agregarse a la entidad para representar la fuente de archivos personalizado, y el prefijo también se requiere para especificar el prefijo del nodo; Agregamos la siguiente interfaz de visualización:
@Autowired privado shenniuconf shenniuconf; @GetMapping ("/conf/des") public String getDes () {return shenniuconf.getdes (); }La entidad mapea el valor de los nodos de nivel múltiple
Por lo general, los nodos de configuración personalizados tienen relaciones jerárquicas, entonces, ¿cómo pueden nuestras entidades obtener valores de atributos en diferentes niveles? De hecho, solo debe expresarse a través de relaciones jerárquicas de clase en la clase de entidad, como el atributo de clase de entidad URL en la entidad Shenniuconf anterior;
Aquí hay una interfaz de prueba:
@Autowired privado shenniuconf shenniuconf; @GetMapping ("/conf/myconf") public shenniuconf getBlogurl () {return shenniuconf; }Si no sucede nada inesperado, puede obtener los siguientes resultados:
Dirección de Git: https://github.com/shenniuboxing3 Nuget Publishing Paquete: https://www.nuget.org/profiles/shenniuboxing3
Resumir
Lo anterior es el método de leer los nodos de archivo de configuración personalizados que le presentan los nodos introducidos por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje. ¡El editor le responderá a tiempo!