SpringBoot中的yml文件中讀取自定義配置信息
開發(fā)中遇到的問(wèn)題,百度的答案我都沒有找到,去找大佬獲取到的經(jīng)驗(yàn)總結(jié),這只是其中的一種方法,如果其他大佬有新的方法,可以分享分享。
一、非靜態(tài)屬性
1.1 yml文件
自定義配置信息,通過(guò)我們編寫的代碼讀取。
image:
path: E:\image #存儲(chǔ)文件的磁盤目錄
server: http://localhost:8082/image/ #文件訪問(wèn)基礎(chǔ)路徑
1.2 類
非靜態(tài)屬性中@Value生效
ps: 不是在控制層中擁有@Controller注解,說(shuō)明沒有把該類放進(jìn)IOC容器中,啟動(dòng)類時(shí)會(huì)找不到@Value,在其他類中可以用@Component注解,將該類注冊(cè)到IOC容器中,使得程序運(yùn)行時(shí),能夠找得到。
@Value("${image.path}")
private String path; // path = E:\image
//從配置文件中讀取公共配置信息
@Value("${image.server}")
private String server;
二、 靜態(tài)屬性
2.1 yml文件
# 自定義二維碼配置信息
qrcode:
width: 600 # 二維碼寬度
height: 600 # 二維碼高度
2.2 類
靜態(tài)屬性中@Value不生效
ps:使用@ConfigurationProperties注解來(lái)獲取application.yml配置文件中的第一個(gè)屬性名,接著只需要屬性名和二級(jí)屬性相同即可獲取到。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-723176.html
// 想要在工具類的靜態(tài)屬性獲取到application.yml配置文件內(nèi)容的配置信息
// 1. 先加上注解
@Component // 注冊(cè)到IOC容器
@ConfigurationProperties(prefix = "qrcode") // 獲取到配置文件的屬性
public class QRcodeUtil {
// 通過(guò)讀取application.yml配置文件內(nèi)容中的配置信息
// @Value("${qrcode.width}") // 再靜態(tài)屬性中@Value不生效
private static int width; //圖形寬
// @Value("${qrcode.height}")
private static int height; //圖形高
// 3. 需要給屬性值手動(dòng)設(shè)置set方法
public void setWidth(int width) {
QRcodeUtil.width = width;
}
public void setHeight(int height) {
QRcodeUtil.height = height;
}
記錄每一個(gè)學(xué)習(xí)瞬間
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-723176.html
到了這里,關(guān)于SpringBoot中的yml文件中讀取自定義配置信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!