Micro-Framework Spring-Boot был очень популярен в последнее время. Автор также следовал этой тенденции и больше ничего не сказал. Теперь я приведу пример чтения файлов конфигурации.
Во -первых, вам нужно полагаться на следующий пакет JAR в файле POM
<dependencies> <dehyedency> <groupid> org.springframework.boot </GroupId> <straCactId> Spring-Boot-Starter-web </artifactid> </deploydent> <depertion> <groupid> org.springframework.boot </GroupD> <ratifactid> spring-boot-starter-test </artifactid> test> test/scope> test/artifactid> </artifactid> atpertine> atprame> </artifope> artifactid> </GroupD> artifactid> spring-boot-start </зависимости>
Во-вторых, нам нужен класс стартапов пружины
@Springbootapplication @enableconfigurationproperties ({propsconfig.class, ymlconfig.class}) public class readapplication {public static void main (string [] args) {springapplication.run (readapplication.class, args); }}Правильно, PropsConfig.class и YMLConfig.Class указали в аннотации @EnableConfigurationProperties - это классы, которые читают файлы репутации и конфигурации YML соответственно. Далее мы будем реализовать конкретную реализацию свойств чтения и файлов конфигурации YML соответственно.
1. Файл конфигурации чтения свойств
Разместите файл приложения.
master.ds.driverclassname = com.mysql.jdbc.driver master.ds.url = jdbc: mysql: // localhost: 3306/test master.ds.username = root master.ds.password = root master.ds.filters = stat master.ds.maxactize = 20 -й. Master.ds.minidle = 10 Master.ds.TimeWeeWeedEvictionRunSmillis = 60000 Master.ds.mineVictableIdletimeMillis = 3000000 Master.ds.validationQuery = Select 'x' Master.ds.testwhileDle = true.ds.testonbourrours = false.ds.testonterur master.ds.maxopenpreparedStatements = 100 Master.ds.RemoveAdaNEN = true Master.ds.RemoveAdaNedItimeOut = 1800 Master.ds.logabandoned = true
Чтение класса конфигурации реквизита очень просто. Это в основном класс Pojo/Vo, и просто загрузите аннотацию @ConfigurationProperties в классе.
@ConfigurationProperties (prefix = "master.ds", locations = "classpath: application.properties") public class propsconfig {private String DriverClassName; частная строковая URL; частное имя пользователя; Private String Password; частные струнные фильтры; частная строка maxactive; частная строка инициализируется; частная строка Maxwait; public String getDriverClassName () {return DriverClassName; } public void setDriverClassName (String DriverClassName) {this.DriverClassName = DriverClassName; } public String getUrl () {return url; } public void seturl (string url) {this.url = url; } public String getUsername () {return username; } public void setUsername (string username) {this.username = username; } public String getPassword () {return пароль; } public void setPassword (String) пароль) {this.Password = password; } public String getFilters () {return Filters; } public void setFilters (String Filters) {this.filters = filters; } public String getMaCactact () {return maxactive; } public void setMactactive (String maxactive) {this.maxactive = maxactive; } public String getInitialSize () {return initialSize; } public void setInitialSize (string инициализирует) {this.ItialSize = инициализировать; } public String getMaxWait () {return maxwait; } public void setMaxWait (String maxwait) {this.maxwait = maxwait; }} Единый тестовый класс
@Runwith (springjunit4classrunner.class) @springboottest (classe = readapplication.class) public class readapplicationpropstests {@autowired private propsconfig propsconfig; @Test public void testDisplayPropsValue () {String DriverClassName = propsConfig.getDriverClassName (); String url = propsconfig.geturl (); String username = propsconfig.getusername (); String password = propsConfig.getPassword (); String Filters = propsConfig.getFilters (); String maxactive = propsconfig.getmactactive (); String инициализирует = propsConfig.getInitialSize (); String maxwait = propsconfig.getmaxwait (); System.out.println ("DriverClassName ->" + DriverClassName); System.out.println ("url ->" + url); System.out.println ("username ->" + имя пользователя); System.out.println ("пароль ->" + пароль); System.out.println ("initialSize ->" + инициализируйте); System.out.println ("maxwait ->" + maxwait); }}Вы можете увидеть вывод тестового контента в консоли:
DriverClassName -> com.mysql.jdbc.driver url -> jdbc: mysql: // localhost: 3306/test username -> root password -> root initialsize -> 1 maxwait -> 60000
2. Прочтите файл конфигурации YML
Поместите файл Application.yml в класс -пути, с общим содержанием следующим образом:
MyProps: #Custom Свойства и значения SimpleProp: SimplePropLeue ArrayProps: 1,2,3,4,5 ListProp1: - Имя: Значение ABC: ABCVALUE - Имя: EFG Значение: EFGValue ListProp2: - config2Value1 - config2VavLue2 Mapprops: Key1: value1: value2: value2: value2: value2: value2: value2:
Прочитайте класс файла конфигурации YML.
@ConfigurationProperties (prefix = "myProps") // Свойства в MyProps в Application.yml public class ymlConfig {private String simpleProp; частная строка [] ArrayProps; Частный список <map <string, string >> listprop1 = new ArrayList <> (); // получение значений атрибутов в частном списке Prop1 <string> listprop2 = new ArrayList <> (); // получение значений атрибута в Prop2 Private Map <String, String> Mapprops = new HashMap <> (); // получение значения атрибута в prop1 public String getSiMpleProp () {return SimpleProp; } public void setSimpleProp (String simpleProp) {this.SimpleProp = simpleProp; } public List <map <string, string >> getListProp1 () {return listprop1; } public List <string> getListProp2 () {return ListProp2; } public String [] getArrayProps () {return ArrayProps; } public void setArrayProps (string [] arrayProps) {this.arrayProps = arrayProps; } public map <string, string> getMapprops () {return mapprops; } public void setMapprops (map <string, string> mapprops) {this.mapprops = mapprops; }} Единый тестовый класс
@Runwith (springjunit4classrunner.class) @springboottest (classe = readapplication.class) public class readapplicationymltests {@autowired private ymlconfig ymlconfig; @Test public void testdisplayyMlvalue () бросает 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 ("Mapprops:" + ObjectMapper.WriteValueAsString (ymlConfig.getMapprops ())); }} Вы можете увидеть вывод тестового контента в консоли:
SimpleProp: SimplePropValue ArrayProps: ["1", "2", "3", "4", "5"] ListProp1: [{"name": "abc", "value": "abcvalue"}, {"name": "efg", "value": "efgValue"}] sistprop2: "efg", "value": "efgValue"}]: ["config2value1", "config2vavlue2"] mapprops: {"key1": "value1", "key2": "value2"} Разве это не удивительно? Он может работать гладко без файла Spring ApplicationContext.xml.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.