SpringBoot中的yml文件中讀取自定義配置信息及遇到問題小結(jié)
開發(fā)中遇到的問題,百度的答案我都沒有找到,去找大佬獲取到的經(jīng)驗總結(jié),這只是其中的一種方法,如果其他大佬有新的方法,可以分享分享。
一、非靜態(tài)屬性
1.1 yml文件
自定義配置信息,通過我們編寫的代碼讀取。
image: path: E:\image #存儲文件的磁盤目錄 server: http://localhost:8082/image/ #文件訪問基礎(chǔ)路徑
1.2 類
非靜態(tài)屬性中@Value生效
ps: 不是在控制層中擁有@Controller注解,說明沒有把該類放進IOC容器中,啟動類時會找不到@Value,在其他類中可以用@Component注解,將該類注冊到IOC容器中,使得程序運行時,能夠找得到。
@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注解來獲取application.yml配置文件中的第一個屬性名,接著只需要屬性名和二級屬性相同即可獲取到。
// 想要在工具類的靜態(tài)屬性獲取到application.yml配置文件內(nèi)容的配置信息 // 1. 先加上注解 @Component // 注冊到IOC容器 @ConfigurationProperties(prefix = "qrcode") // 獲取到配置文件的屬性 public class QRcodeUtil { // 通過讀取application.yml配置文件內(nèi)容中的配置信息 // @Value("${qrcode.width}") // 再靜態(tài)屬性中@Value不生效 private static int width; //圖形寬 // @Value("${qrcode.height}") private static int height; //圖形高 // 3. 需要給屬性值手動設(shè)置set方法 public void setWidth(int width) { QRcodeUtil.width = width; } public void setHeight(int height) { QRcodeUtil.height = height; }
到此這篇關(guān)于SpringBoot中的yml文件中讀取自定義配置信息的文章就介紹到這了,更多相關(guān)SpringBoot yml文件讀取自定義配置信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring整合Kaptcha谷歌驗證碼工具的開發(fā)步驟
這篇文章主要介紹了Spring整合Kaptcha谷歌驗證碼工具的開發(fā)步驟,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01詳談@Cacheable不起作用的原因:bean未序列化問題
這篇文章主要介紹了@Cacheable不起作用的原因:bean未序列化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01Spring-AOP-ProceedingJoinPoint的使用詳解
這篇文章主要介紹了Spring-AOP-ProceedingJoinPoint的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03java使用htmlparser提取網(wǎng)頁純文本例子
這篇文章主要介紹了java使用htmlparser提取網(wǎng)頁純文本例子,需要的朋友可以參考下2014-04-04