SpringBoot中如何解決讀取properties文件讀取問(wèn)題
如何解決讀取properties文件讀取問(wèn)題
問(wèn)題描述
今天在springboot項(xiàng)目架構(gòu)中,測(cè)試讀取properties配置文件出現(xiàn)了兩個(gè)問(wèn)題:
- 路徑設(shè)置
- 中文亂碼
路徑設(shè)置
解決思路是使用org.springframework.core.io下的ClassPathResource類獲取流對(duì)象,然后使用properties進(jìn)行讀取
中文亂碼
將從ClassPathResource中獲取的流對(duì)象轉(zhuǎn)換為BufferReader對(duì)象
public static void main(String[] args) throws IOException {
? ? ? ? Properties properties = new Properties();
? ? ? ? ClassPathResource classPathResource = new ClassPathResource("ProducerQuickStart.properties");
? ? ? ? InputStream inputStream = classPathResource.getInputStream();
? ? ? ? InputStreamReader inputStreamReader = new InputStreamReader(inputStream,"utf-8");
? ? ? ? BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
? ? ? ? properties.load(bufferedReader);
? ? ? ? Set<Object> keySets = properties.keySet();
? ? ? ? Iterator<Object> iterator = keySets.iterator();
? ? ? ? while (iterator.hasNext()){
? ? ? ? ? ? Object obj = iterator.next();
? ? ? ? ? ? System.out.println("鍵:"+obj+" ? 值:"+properties.get(obj));
? ? ? ? }
? ? }讀取指定properties文件
設(shè)置配置屬性類型
/**
?* 自定義配置屬性類
?* @author ZH_FTP
?*
?*/
@Component
//springboot 管理
@ConfigurationProperties(prefix = "validity")
//鍵值前綴
@PropertySource(value = {"classpath:/config/baseproperties.properties"}, encoding = "utf-8")
// 配置文件路徑 解碼方式
public class BaseProperties {
?? ?private static final int INT_ZERO = 0;
?? ?@Value("${validity.of.captcha}")
?? ?private Integer validityOfCaptcha;//驗(yàn)證碼有效時(shí)間
?? ?public Integer getValidityOfCaptcha() {
?? ??? ?return validityOfCaptcha;
?? ?}
?? ?public void setValidityOfCaptcha(Integer validityOfCaptcha) {
?? ??? ?this.validityOfCaptcha = validityOfCaptcha;
?? ?}
}配置文件
在工程 /src/main/resources/config/baseproperties.properties 文件類型 配置信息 方便配置類讀取
validity.of.captcha=120
讀取配置文件就完成了,可以通過(guò)springboot 自動(dòng)注入使用了
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用FeignClient設(shè)置動(dòng)態(tài)Url
這篇文章主要介紹了使用FeignClient設(shè)置動(dòng)態(tài)Url方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
Java web的讀取Excel簡(jiǎn)單實(shí)例代碼
下面小編就為大家?guī)?lái)一篇Java web的讀取Excel簡(jiǎn)單實(shí)例代碼。小編覺(jué)挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
Java Web Filter 過(guò)濾器學(xué)習(xí)教程(推薦)
Filter也稱之為過(guò)濾器,它是Servlet技術(shù)中最激動(dòng)人心的技術(shù).這篇文章主要介紹了Java Web Filter 過(guò)濾器學(xué)習(xí)教程的相關(guān)資料,需要的朋友可以參考下2016-05-05
SpringBoot登錄攔截配置詳解(實(shí)測(cè)可用)
這篇文章主要介紹了SpringBoot登錄攔截配置詳解(實(shí)測(cè)可用),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
springSecurity之AuthenticationProvider用法解析
這篇文章主要介紹了springSecurity之AuthenticationProvider用法解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
MyBatis-Plus中最簡(jiǎn)單的查詢操作教程(Lambda)
這篇文章主要給大家介紹了關(guān)于MyBatis-Plus中最簡(jiǎn)單的查詢操作的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03
SpringBoot深入分析運(yùn)行原理與功能實(shí)現(xiàn)
我們發(fā)現(xiàn)springBoot程序開(kāi)發(fā)比spring程序編寫(xiě)起來(lái)容易的多。配置簡(jiǎn)潔,依賴關(guān)系簡(jiǎn)單,啟動(dòng)運(yùn)行容易。那么結(jié)下了我們我們就要思考一下入門(mén)程序中的這些功能是怎么實(shí)現(xiàn)的2022-09-09

