中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java怎么實現web項目啟動加載properties屬性文件

發布時間:2021-08-24 20:23:34 來源:億速云 閱讀:134 作者:chen 欄目:開發技術

本篇內容介紹了“java怎么實現web項目啟動加載properties屬性文件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

目錄
  • web項目啟動加載properties屬性文件

    • 1、首先要想在項目啟動的時候就加載properties文件

    • 2、在web.xml文件中配置好了監聽器之后

    • 3、當然為了不讓項目啟動報錯

    • 4、文件建好之后

  • 出現加載java的properties配置文件空指針報錯

    • 解決

web項目啟動加載properties屬性文件

最近做項目,發現框架里面封裝的項目一啟動加載所有的properties文件挺方便好用的就自己動手寫了一個.

1、首先要想在項目啟動的時候就加載properties文件

就必需在web.xml中配置一個加載properties文件的監聽器(listener);

<!-- Properties文件的監聽器 -->
    <listener>
        <description>ServletContextListener</description>
        <listener-class>com.lvqutour.utils.PropertyFileUtils</listener-class>
    </listener>

2、在web.xml文件中配置好了監聽器之后

接下來我們就要實現監聽器中的類com.lvqutour.utils.PropertyFileUtils,本人做的方法是將該類實現ServletContextListener接口,主要然后主要是重寫里面的init方法,現在項目啟動的時候就會加載application.local.properties文件了.

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
 
/**
 * Created with IntelliJ IDEA.
 * Date: 2018/3/13 13:06
 * User: pc
 * Description:自定義properties文件讀取工具類
 */
 
public class PropertyFileUtils implements ServletContextListener {
    private static Properties prop = new Properties();
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        InputStream inputStream;
        try {
            inputStream = getClass().getResourceAsStream("/XXX.properties");
            if(inputStream != null){
                prop.load(inputStream);
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
 
    @Override
    public void contextDestroyed(ServletContextEvent sce) {  
    }
 
    public static String get(String params){
        return prop.getProperty(params);
    }
}

3、當然為了不讓項目啟動報錯

我們必需在項目的resources中新建一個XXX.properties文件.

#微信支付相關 
#密鑰
KEY = longshengwenhuaweixiangmingWXpay
#連接超時時間(毫秒)
CONNECT_TIME_OUT = 10000

4、文件建好之后

我們這時要在其他類中獲取該文件的路徑,這樣大家可以回過頭來看一下在PropertyFileUtils類中有一個get()方法,這就是為給其他類獲取文件中的屬性提供的方法.其中params為.properties文件的鍵.

String key = PropertyFileUtils.get("KEY");//密鑰
int CONNECT_TIME_OUT = Integer.parseInt(PropertyFileUtils.get("CONNECT_TIME_OUT"));//連接超時時間

項目啟動加載屬性文件有對我們獲取屬性文件中的屬性打非常方便不用每次都要去建流,然后去讀屬性文件.

PS:如果是在Controller里需要獲取resource.properties里的值,可直接使用@value注解:

@Value("${KEY}")
private String key;//密鑰
@Value("${CONNECT_TIME_OUT}")
private int CONNECT_TIME_OUT;//連接超時時間

出現加載java的properties配置文件空指針報錯

剛開始把properties配置文件放在了與引用它的java文件并列的src下自定義的文件包下面, 結果一直都報空指針異常, 找不到路徑

解決

后來移動到src根目錄下面就ok了...應該是一種配置文件的規定吧...

“java怎么實現web項目啟動加載properties屬性文件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

依兰县| 武平县| 荔波县| 调兵山市| 稷山县| 含山县| 桃江县| 博罗县| 正镶白旗| 永泰县| 怀远县| 泽州县| 凤阳县| 陆良县| 嵊州市| 浠水县| 乌苏市| 乌恰县| 乌鲁木齐县| 东明县| 九寨沟县| 克什克腾旗| 通渭县| 阿荣旗| 迁安市| 阿克苏市| 长垣县| 孟津县| 许昌县| 运城市| 疏勒县| 淮滨县| 文登市| 日喀则市| 柳江县| 云林县| 宁国市| 商南县| 高碑店市| 得荣县| 沙田区|