El micro-Framework Spring-Boot ha sido muy popular recientemente. El autor también ha seguido la tendencia y no dijo nada más. Ahora daré un ejemplo de lectura de archivos de configuración.
Primero, debe confiar en el siguiente paquete JAR en el archivo POM
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </pendency> </dependencias>
En segundo lugar, necesitamos una clase de inicio de Spring-Boot
@SpringBootApplication @enableconfigurationProperties ({propSconfig.class, ymlconfig.class}) clase pública readapplication {public static void main (string [] args) {springapplication.run (readapplication.class, args); }}Así es, el propsconfig.class y ymlconfig.class señalados en la anotación @enableconfigurationProperties son clases que leen accesorios y archivos de configuración YML respectivamente. A continuación, implementaremos la implementación específica de propiedades de lectura y archivos de configuración YML respectivamente.
1. Lea el archivo de configuración de propiedades
Coloque un archivo de aplicación.
maestro.ds.drivClassName = com.mysql.jdbc.driver master.ds.url = jdbc: mysql: // localhost: 3306/test maestro.ds.username = root Master.ds.password = root master.ds.filters = stat.ds.maxactive = 20 maestro.ds.iniatialsize master.ds.minidle = 10 master.ds.timebetweeVictionRunsMillis = 60000 master.ds.MineVictableIdletImemillis = 3000000 master.ds.validationQuery = select 'x' maestro.ds.testwhileidle = true Master.ds.testonborrow = false master.ds.testonreturn = false Master.ds.PoolePeReDatements maestro.ds.maxopenPreparedStatements = 100 master.ds.removeabandoned = true Master.DS.RemoVeAbandonedTimeOut = 1800 Master.DS.Logabandoned = True
Leer la clase de configuración de accesorios es muy simple. Básicamente es una clase POJO/VO, y simplemente cargue la anotación @ConfigurationProperties en la clase.
@ConfigurationProperties (prefix = "maestro.ds", ubicaciones = "classpath: application.properties") public class propSconfig {private String DriverClassName; URL de cadena privada; nombre de usuario de cadena privada; contraseña de cadena privada; filtros de cadena privada; cadena privada Maxactive; Cadena privada InitialSize; cadena privada maxwait; public String getDrivClassName () {return DriverClassName; } public void setdriverClassName (String DriverClassName) {this.DrivClassName = DriverClassName; } public String getUrl () {return url; } public void seturl (url de cadena) {this.url = url; } public String getUsername () {return UserName; } public void setUsername (String UserName) {this.Username = username; } public String getPassword () {return Password; } public void setpassword (string) contraseña) {this.password = contraseña; } public String getFilters () {Filtros de retorno; } public void setFilters (filtros de cadena) {this.filters = filtros; } public String getMaxActive () {return maxactive; } public void setMaxactive (String MaxActive) {this.maxactive = maxactive; } public String getInitialSize () {return inicialSize; } public void setInitialSize (string inicialSize) {this.initialSize = inicialSize; } public String getMaxWait () {return maxwait; } public void setMaxWait (String maxWait) {this.maxwait = maxWait; }} Clase de prueba unitaria
@RunWith (SpringJunit4ClassRunner.class) @SpringBoottest (classes = readApplication.class) clase pública ReadApplicationPropstests {@aUtowired private propSconFig propSconFig; @Test public void testDisplayPropsValue () {String DriverClassName = propSconFig.getDrivClassName (); Cadena url = propSconfig.getUrl (); String UserName = propSConFig.getUsername (); Cadena contraseña = propSconFig.getPassword (); Cadena filtros = propSconFig.getFilters (); Cadena maxactive = propSconfig.getMaxactive (); String inicialSize = propSconfig.getInitialSize (); Cadena maxWait = propSconfig.getMaxWait (); System.out.println ("DriverClassName ->" + DriverClassName); System.out.println ("url ->" + url); System.out.println ("UserName ->" + Nombre de usuario); System.out.println ("Password ->" + Password); System.out.println ("InitialSize ->" + InitialSize); System.out.println ("maxwait ->" + maxwait); }}Puede ver la salida de contenido de prueba en la consola:
DriverClassName -> com.mysql.jdbc.driver url -> jdbc: mysql: // localhost: 3306/test username -> contraseña de root -> root initialsize -> 1 maxwait -> 60000
2. Lea el archivo de configuración de YML
Coloque un archivo Application.yml en ClassPath, con el contenido general de la siguiente manera:
MyProps: #Custom Propiedades y valores SimpleProp: SimplePropvalue ArrayProps: 1,2,3,4,5 ListProp1: - Nombre: ABC Valor: ABCValue - Nombre: EFG Valor: EFGValue ListProp2: - Config2Value1 - Config2Vavlue2 MAPPROPS: Key1: Value1 Key2: Value2: Value2
Lea la clase del archivo de configuración YML.
@ConfigurationProperties (prefix = "myprops") // Propiedades en myprops en Application.yml public class ymlconfig {private String SimpleProp; cadena privada [] ArrayProps; Lista privada <map <string, string >> listProp1 = new ArrayList <> (); // Recibir valores de atributo en la lista privada de prop1 <String> listProp2 = new ArrayList <> (); // Recibir valores de atributo en el mapa privado PROP2 <String, String> Mapprops = new HashMap <> (); // Recibe el valor de atributo en la cadena pública de prop1 getSimpleProp () {return simpleprop; } public void setSimpleProp (String SimpleProp) {this.simpleProp = SimpleProp; } lista pública <map <string, string >> getListProp1 () {return listProp1; } Lista pública <String> getListProp2 () {return listProp2; } public String [] getArrayProps () {return arrayprops; } public void setArrayProps (String [] ArrayProps) {this.ArrayProps = ArrayProps; } mapa público <string, string> getMappROps () {return mapproprops; } public void setmapprops (map <string, string> mapproprops) {this.mapprops = mapproprops; }} Clase de prueba unitaria
@RunWith (SpringJunit4ClassRunner.class) @SpringBoottest (classes = readApplication.class) clase pública ReadApplicationyMlTests {@aUtowired private ymlconfig ymlconfig; @Test public void testDisplayyMlValue () lanza JSONProcessingException {System.out.println ("SimpleProp:" + ymlconfig.getSimpleProp ()); ObjectMapper ObjectMapper = new ObjectMapper (); System.out.println ("ArrayProps:" + ObjectMapper.WriteValueAsString (ymlconfig.getArrayProps ())); System.out.println ("ListProp1:" + ObjectMapper.WriteValueAsString (ymlconfig.getListProp1 ())); System.out.println ("ListProp2:" + ObjectMapper.WriteValueAsString (ymlconfig.getListProp2 ())); System.out.println ("Mapproprops:" + ObjectMapper.WriteValueAsString (ymlconfig.getMappRops ())); }} Puede ver la salida de contenido de prueba en la consola:
SimpleProp: SimplePropValue ArrayProps: ["1", "2", "3", "4", "5"] listProp1: [{"nombre": "abc", "valor": "abcvalue"}, {"nombre": "efg", "valor": "efgvalue"] listprop2: ["config2Value1", "config2vavlue2"] mapprops: {"key1": "value1", "key2": "value2"} ¿No es asombroso? Puede ejecutarse sin problemas sin el archivo ApplicationContext.xml de Spring.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.