springboot如何獲取yml文件的自定義參數(shù)
如何獲取yml的自定義參數(shù)
需求
通過yml文件配置參數(shù),在需要的地方獲取并使用參數(shù)
實(shí)現(xiàn)方式
方式一:
先上要獲取的配置參數(shù),在用到參數(shù)的位置獲取yml文件里面配好的值,如果就一兩個(gè)地方用到,那直接寫死也不是不行,但是最好通過配置文件的方式,萬一參數(shù)變了,只要改配置文件就行,業(yè)務(wù)代碼不用動(dòng)
yml配置參數(shù):
Config文件
@Configuration //定義配置類 @Data //提供get set方法 @ConfigurationProperties(prefix = "xxx.smc") //yml配置中的路徑 public class SmcConfig { private String ip; private String name; private String password; }
具體使用
方式二:
通過value注解的方式
自定義yml文件,獲取配置參數(shù)
操作yml文件依賴
<dependency> ? ? ? ? ? ? <groupId>org.yaml</groupId> ? ? ? ? ? ? <artifactId>snakeyaml</artifactId> ? ? ? ? ? ? <version>1.29</version> ?</dependency>
mqtt鏈接參數(shù),及讀取yml文件工具
public class MqttParamObj { ? ? public String mqttBrokerIp; ? ? public Short mqttBrokerPort; ? ? public String userName; ? ? public String password; ? ? public String mqttClientId; ? ? public static MqttParamObj readConfigFile(){ ? ? ? ? MqttParamObj mqttParamObj = null; ? ? ? ? File file = new File(System.getProperty("user.dir") + "/MqttParams.yml"); ? ? ? ? try { ? ? ? ? ? ? InputStream fileInputStream = new FileInputStream(file); ? ? ? ? ? ? if(Objects.nonNull(fileInputStream)){ ? ? ? ? ? ? ? ? Yaml yaml = new Yaml(); ? ? ? ? ? ? ? ? mqttParamObj = yaml.loadAs(fileInputStream, MqttParamObj.class); ? ? ? ? ? ? } ? ? ? ? } catch (FileNotFoundException e) { ? ? ? ? ? ? e.printStackTrace(); ? ? ? ? } ? ? ? ? return mqttParamObj; ? ? } }
MqttParams.yml 文件位置
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring實(shí)戰(zhàn)之獲得Bean本身的id操作示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之獲得Bean本身的id操作,結(jié)合實(shí)例形式分析了spring獲取Bean本身id的相關(guān)配置與實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-11-11Eclipse 導(dǎo)出可執(zhí)行Java工程/可執(zhí)行Jar文件(包含第三方Jar包)
這篇文章主要介紹了Eclipse 導(dǎo)出可執(zhí)行Java工程/可執(zhí)行Jar文件(包含第三方Jar包)的相關(guān)資料,需要的朋友可以參考下2016-11-11Java基于IO流實(shí)現(xiàn)登錄和注冊(cè)功能
這篇文章主要為大家詳細(xì)介紹了Java基于IO流實(shí)現(xiàn)登錄和注冊(cè)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04java實(shí)現(xiàn)簡(jiǎn)易版圖形界面計(jì)算器
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)易版圖形界面計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05SpringBoot @JsonDeserialize自定義Json序列化方式
這篇文章主要介紹了SpringBoot @JsonDeserialize自定義Json序列化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10