spring boot自定义配置文件
生活随笔
收集整理的這篇文章主要介紹了
spring boot自定义配置文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
把一些可能會經(jīng)常變動的東西寫在配置文件中,可以增加程序的靈活性,避免多次改版發(fā)版。
在sping boot中除了自帶的默認(rèn)配置文件application.properties之外,我們還可以在resource下自定義配置文件,比方我們可以在resource下新加custom/my.properties文件,內(nèi)容如下,雖然都是String格式,但通過一些處理,既可以返回?cái)?shù)組,也可以返回Map:
kafka.producer.name=root kafka.producer.age=23table.column.qualifier=name,age,nick_name,my_car
business.map=car:選車,service:服務(wù),community:社區(qū),my:我的,headline:頭條 ?
同時新建一個配置類MyConfig,內(nèi)容如下:
package com.bitauto.Configuration;import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySources;import java.util.HashMap; import java.util.Map;/*** Created by wangbin10 on 2018/5/4.*/ @PropertySources({@PropertySource("classpath:custom/my.properties"),@PropertySource(value = "${my.properties}", ignoreResourceNotFound = true)}) @Configuration public class MyConfig {@Value("${kafka.producer.name}")private String name;@Value("${kafka.producer.age}")private int age;@Value("${table.column.qualifier}")private String qualifier;@Value("${business.map}")private String businessMap;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String[] getQualifier() {return qualifier.split(",");}public void setQualifier(String qualifier) {this.qualifier = qualifier;}public Map getBusinessMap() {String[] strings = businessMap.split(",");Map<String,String> map=new HashMap();for (String string : strings) {String[] split = string.split(":");map.put(split[0],split[1]);}return map;}public void setBusinessMap(String businessMap) {this.businessMap = businessMap;} }?
在測試文件中將MyConfig注入,即可得到配置文件中的信息。
@RunWith(SpringRunner.class) @SpringBootTest public class HbnApplicationTests {@Autowiredprivate MyConfig myConfig;@Testpublic void test09(){String name=myConfig.getName();int age = myConfig.getAge();System.out.println("name="+name+"age="+age);} }?
轉(zhuǎn)載于:https://www.cnblogs.com/wangbin2188/p/8991052.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的spring boot自定义配置文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。