Springboot 如何指定獲取出 yml文件裡面的配置值
之前寫過一篇獲取properties文件裡面的值:
Springboot 指定獲取自己寫的配置properties文件的值
www.jb51.net/article/217899.htm
現在補充多一篇,指定獲取yml裡面的配置值 。
內容:
這裡分別介紹兩種方式,都是基於註解實現,分別是:
@Value("${xxxxx.xx}")
@ConfigurationProperties(prefix = "xxxxx")
進入主題:
@Value(“${xxxxx.xx}”)
使用這種方式非常簡單(每一個註解獲取一個對應的配置值),
在yml裡面加入我們的自定義配置項,如(大小寫隨意,調用時對應好就行):
指定獲取這些值去使用,如:
@Value("${myKey.tua}") private String tuaKey; @Value("${myKey.aco}") private String acoKey; @Value("${mynum.new}") private String myNum; @GetMapping("/getMyTest") public void getMyTest(){ System.out.println("tuaKey:"+tuaKey); System.out.println("acoKey:"+acoKey); System.out.println("myNum:"+myNum); }
可以看到結果,獲取正常:
@ConfigurationProperties(prefix = “xxxxx”)
使用這種方式也非常簡單(一次性將多個配置值獲取並示例化成bean放入到spring容器裡面),
在yml裡面加入我們的自定義配置項,如(註意,使用一開始的key參數使用小寫,使用大寫會出錯,因為prefix不支持駝峰命名和下劃線形式):
然後我們建一個對於這些配置項的實體類,並使用上註解 @ConfigurationProperties ,如:
prefix指前綴,一般也就是第一個,我們這個例子的第一個是myinfo
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * @Author : JCccc * @CreateTime : 2020/5/19 * @Description : **/ @Component @ConfigurationProperties(prefix = "myinfo") public class MyInfo { private String name; private Integer age; private String description; @Override public String toString() { return "MyTest{" + "name='" + name + '\'' + ", age=" + age + ", description='" + description + '\'' + '}'; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } }
指定獲取這些值去使用,也就是相當於使用這個類,直接配合@Autowired 使用即可:
@Autowired MyInfo myInfo; @GetMapping("/getMyTest") public void getMyTest(){ System.out.println("myInfo:"+myInfo.toString()); System.out.println("myInfo name:"+myInfo.getName()); }
可以看到結果,獲取正常:
ok,該篇就到此。 以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet!
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- springboot代碼,註解配置獲取yml,properties文件的map即鍵值對
- springboot如何使用@ConfigurationProperties封裝配置文件
- 詳解SpringBoot讀取配置文件的N種方法
- SpringBoot 配置文件給實體註入值方式
- SpringBoot隨機數設置及參數間引用的操作步驟