亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java如何讀取配置文件并賦值靜態變量

瀏覽:90日期:2022-08-23 08:51:05

應用場景

項目開發中某個功能需要抽取成方法寫成一個工具類,提供給別人使用。寫過工具類的人都知道,工具類中的方法一般都是靜態方法,可以直接使用類名點方法名調用,

使用很方便,比如判斷某個對象是否為null的方式Objects.equals().由于我寫的這個工具類中需要讀取配置文件中的內容,可是常規方式注入成員變量時都不是靜態的,不

能直接調用,比如這種方式:

@Data@Componentpublic class GBaseApiConfig {@Value('${gbase.api.prefix}')private String gbaseApi;}

工具類中的靜態方法直接調用這種方式注入的成員變量會出現空指針異常,因為Java中的語法規定靜態的方法只能調用靜態的方法或者是成員變量,否則會報錯如下:

Java如何讀取配置文件并賦值靜態變量

想在靜態方法中使用其他非靜態的成員變量或者是方法只能通過創建對象的方式來調用,可是工具類中不可能這么干,不然就失去工具類的意義了。于是想到

如下方法

方法一

通過靜態代碼塊來讀取、加載配置文件中的內容,代碼如下

Java如何讀取配置文件并賦值靜態變量

先定義一個靜態的成員變量,然后在靜態代碼塊中讀取需要的配置文件信息,在給靜態變量賦值。這種方式親自測試完全可用。

方法二

可是過了一段時間后,項目經理讓我們修改代碼,原因是希望項目中的代碼風格統一,全部都使用@Value注解注入的方式。

很快一個同事就找到一個可行的辦法,代碼如下

Java如何讀取配置文件并賦值靜態變量

實現spring中的InitializingBean接口,然后重寫afterPropertiesSet方法即可。實現方式為先將配置文件中的值注入到一個成員變量中,然后通過方法

afterPropertiesSet實現工具類的初始化,這樣就可以將配置文件中的信息注入到工具類中。測試可用。

Java如何讀取配置文件并賦值靜態變量

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 亚洲精品在线观看视频 | 一级黄色片免费 | 在线青草 | 国产1区在线观看 | 久久99九九精品免费 | 亚洲精品久久久久久久网站 | 麻豆国产96在线 | 中国 | 成人亚洲精品777777 | 成人区视频爽爽爽爽爽 | 国产精品久久久久久久午夜片 | 国产a级特黄的片子视频免费 | 欧美一级黄色大片 | 免费欧美在线视频 | 一区二区三区免费视频观看 | 91在线区啪国自产网页 | 免费片 | 人人狠狠综合久久亚洲 | 成人综合婷婷国产精品久久免费 | 911亚洲精品 | 三级黄色片在线观看 | 欧美特黄a级高清免费看片 欧美特黄a级猛片a级 | 免费看一级黄色录像 | 免费观看黄色网址 | 在线观看国产小屁孩cao大人 | 人成精品视频三区二区一区 | 中文一级国产特级毛片视频 | 免费国产精成人品 | 一级免费片 | 日本欧美国产精品 | 亚洲日本在线免费观看 | 亚洲精品久久99久久一 | 日日干夜夜爱 | 日本aaa毛片 | 中文字幕亚洲精品日韩精品 | 国产精品乱码免费一区二区 | 久久国产乱子伦精品免费强 | 欧美18性欧美丶黑吊 | 97就要鲁就要鲁夜夜爽 | 日韩不卡在线观看 | 日本特黄特黄特刺激大片 | 久久中文字幕久久久久 |