El proyecto SpringBoot lee el archivo de configuración Application.Properties de forma predeterminada. Si necesita personalizar archivos de propiedades, ¿cómo leerlos?
1. Cree un nuevo archivo .properties en el recurso
Cree una nueva carpeta de configuración en el directorio de recursos y luego cree un nuevo archivo .properties y colóquelo en esta carpeta. Como se muestra en Remote.Properties en la figura
2. Escribir archivos de configuración
remota.uploadFilesUrl =/recursos/archivos/remoto.uploadpicurl =/recurse/pic/
3. Cree una nueva clase de configuración RemoteProperties.java
@Configuration@ConfigurationProperties (prefix = "remoto", ignoreUnknownFields = false) @propertySource ("classpath: config/remoto.properties")@data@componentpublic class remoteperties {private String uploadFilesUrl; String private SubloadPiCURL;}en
@Configuration indica que esta es una clase de configuración
@ConfigurationProperties (prefix = "remoto", ignoreunknownFields = false) Esta anotación se usa para unir las propiedades. El prefijo se utiliza para seleccionar el prefijo de la propiedad, es decir, "remoto" en el archivo remoto.properties. IgnoreUnknownFields se usa para decirle a SpringBoot que organice una excepción cuando una propiedad no puede igualar el dominio declarado.
@PropertySource ("Classpath: config/remoto.properties") ruta del archivo de configuración
@Data Esta es una anotación de Lombok, utilizada para generar métodos Getter & Setter. Para más detalles, consulte la información relacionada con Lombok.
@Component identificado como Bean
4. ¿Cómo usarlo?
Anotate EnableConfigurationProperties (RemoteProperties.Class) en la tabla de la clase donde se encuentra el método que desea usar el archivo de configuración.
E inyectar automáticamente
@AUtowiredRemoteproperties RemotEproperties;
Use RemoteProperties.getUploadFilesUrl () en el método para obtener el contenido de configuración.
@EnableconfigurationProperties (RemoteProperties.class) @RestControllerPublic TestService {@aUtowired RemoteProperties RemotEpreperties; public void test () {String str = RemoteProperties.getUploadFilesUrl (); System.out.println (str); }}Aquí STR es "/recursos/archivos/" en el archivo de configuración.
PD: Echemos un vistazo a dos formas de leer los archivos de configuración de configuración en Spring-Boot
Si ha entendido la tecnología Spring-Boot, debe conocer la aplicación. Properties del archivo de configuración central de Spring-Boot y, por supuesto, también puede anotar la información del archivo de configuración personalizado.
Cómo Spring-Boot lee archivos de configuración:
1. Lea la información del archivo de configuración central de la aplicación.
El archivo de configuración central se refiere a Application.Properties o Application.yml Archivo de configuración en el directorio raíz de los recursos. Hay dos formas de leer estos dos archivos de configuración, los cuales son relativamente simples.
El archivo de configuración central de la aplicación. El contenido de Properties es el siguiente:
test.msg = Hello World Springboot
Método 1: utilizar el método @Value (comúnmente utilizado)
paquete solin.controller; importar org.springframework.beans.factory.annotation.value; importar org.springframework.web.bind.annotation.requestMapping; importar org.springframework.web.bind.annotation.restController; @RestController public class webController {@Value ("$ {test.msg}") privado cadena msg; @RequestMapping ("/index1") public String index1 () {return "método 1:"+msg; }} Nota: El $ {} de @Value se incluye en el nombre de clave en el archivo de configuración central. Agregar @RestController a la clase del controlador significa que todas las vistas en esta clase se muestran en JSON, similar a agregar @ResponseBody al método View.
Al visitar: http: // localhost: 8088/index1, obtendrá: "Método 1: Hola World Springboot"
Método 2: utilizar el método de entorno
paquete solin.controller; importar org.springframework.beans.factory.annotation.aUtowired; importar org.springframework.beans.factory.annotation.value; importar org.springframework.core.env.environment; importar org.springframework.web.bind.annotation.requestMapping; importar org.springframework.web.bind.annotation.restController; @RestController Public Class WebController {@aUtowired private entorno env; @RequestMapping ("/index2") public String index2 () {return "Método 2:"+env.getProperty ("test.msg"); }} Nota: Este método es usar Evnironment para completar la inyección de dependencia. Agregue la anotación @autowired a la variable de miembro creado entorno privado Env para completar la inyección de dependencia y luego use env.getProperty ("nombre clave") para leer el valor correspondiente.
Al visitar: http: // localhost: 8088/index2, obtienes: "Método 2: Hola World Springboot"
2. Lea la información del archivo de configuración personalizado, por ejemplo: autor.properties
Para no destruir la ecología original del archivo central, pero también debe tener información de configuración personalizada, en general, se seleccionan archivos de configuración personalizados para colocar esta información personalizada. Aquí, el archivo de configuración Autor.Properties se crea en el directorio de recursos.
El contenido de recursos/autor.properties es el siguiente:
autor.name = solin autor.age = 22
Cree una clase de entidad para administrar la configuración:
paquete solin.controller; importar org.springframework.boot.context.properties.configurationProperties; importar org.springframework.context.annotation.configuration; importar org.springframework.stereotype.component; // Agregar al comentario @Component, puede usar @autoWired directamente para crear su objeto de instancia en otros lugares @Component @ConfigurationProperties (prefix = "autor", ubicaciones = "classpath: autor.properties") public class myWebConfig {Nombre de cadena privada; edad privada int; public String getName () {nombre de retorno; } public void setName (nombre de cadena) {this.name = name; } public int getAge () {return Age; } public void setAge (int Age) {this.age = edad; }}Aviso:
Hay dos propiedades en la anotación @ConfigurationProperties:
Ubicaciones: especifique la ubicación del archivo de configuración
Prefijo: especifique el prefijo del nombre de clave en el archivo de configuración (todos los nombres de clave en el archivo de configuración aquí comienzan con el autor).
Usar @Component es permitir que la clase dependa de otros lugares, es decir, crear instancias usando la anotación de @aUtowired.
Crear un controlador de prueba
paquete solin.controller; importar org.springframework.beans.factory.annotation.aUtowired; importar org.springframework.stereotype.controller; importar org.springframework.web.bind.annotation.requestMapping; importar org.springframework.web.bind.annotation.ResponseBody; @Controller Public Class configController {@aUtowired private myWebConfig conf; @RequestMapping ("/test") public @ResponseBody String test () {return "Nombre:"+conf.getName ()+"---"+"edad:"+conf.getage (); }}Nota: Dado que @Component se agrega a la clase de conf, puede usar directamente @aUtowired para crear su objeto de instancia.
Al visitar: http: // localhost: 8088/prueba, obtienes: "Nombre: Solin --- Edad: 22"
Resumir
Lo anterior es el método para leer archivos de configuración de propiedades personalizadas en SpringBoot presentados por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!