色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

Java如何讀取配置文件并賦值靜態(tài)變量

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

應用場景

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

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

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

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

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

Java如何讀取配置文件并賦值靜態(tài)變量

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

如下方法

方法一

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

Java如何讀取配置文件并賦值靜態(tài)變量

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

方法二

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

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

Java如何讀取配置文件并賦值靜態(tài)變量

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

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

Java如何讀取配置文件并賦值靜態(tài)變量

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

標簽: Java
相關文章:
主站蜘蛛池模板: 精品少妇一区二区三区视频 | 精品日韩欧美 | 一级特黄特色的免费大片视频 | 亚洲 [12p]| 欧美黄色高清 | 青木玲中文字幕一区二区 | 高清一区在线 | 日韩精品亚洲人成在线观看 | 久久久一本| 国产高清一区二区三区免费视频 | 欧美精品国产制服第一页 | 欧美激情综合亚洲五月蜜桃 | 亚洲精品资源网在线观看 | 456亚洲视频 | 国产成人精品免费视频大 | 性盈盈影院在线观看 | 亚洲欧美日韩精品久久亚洲区色播 | 亚洲天堂视频网站 | 亚洲欧美日韩国产综合 | 蜜臀91精品国产高清在线观看 | 国产精品美女一区二区三区 | 韩国美女爽快一级毛片黄 | 日本高清毛片视频在线看 | 亚洲网址在线 | 99久久国产综合精品国 | 欧美精品亚洲精品日韩一区 | 国产成人精品综合在线 | 久草在线视频免费播放 | 日本草草影院 | 99久久99热久久精品免费看 | 国产aaa级一级毛片 国产aaa毛片 | 国产精品jvid在线观看 | 国产亚洲欧美成人久久片 | wwwxxx欧美| 欧美另类视频videosbest18 | 美美女高清毛片视频黄的一免费 | 亚洲国产免费 | 亚洲欧洲国产成人综合一本 | 久久九九久精品国产 | 国产精品久久一区 | 中国一级特黄大片毛片 |