欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java 實(shí)現(xiàn)web項(xiàng)目啟動(dòng)加載properties屬性文件

 更新時(shí)間:2021年08月24日 17:19:26   作者:java開發(fā)鼻祖  
這篇文章主要介紹了java 實(shí)現(xiàn)web項(xiàng)目啟動(dòng)加載properties屬性文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

web項(xiàng)目啟動(dòng)加載properties屬性文件

最近做項(xiàng)目,發(fā)現(xiàn)框架里面封裝的項(xiàng)目一啟動(dòng)加載所有的properties文件挺方便好用的就自己動(dòng)手寫了一個(gè).

1、首先要想在項(xiàng)目啟動(dòng)的時(shí)候就加載properties文件

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

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

2、在web.xml文件中配置好了監(jiān)聽器之后

接下來我們就要實(shí)現(xiàn)監(jiān)聽器中的類com.lvqutour.utils.PropertyFileUtils,本人做的方法是將該類實(shí)現(xiàn)ServletContextListener接口,主要然后主要是重寫里面的init方法,現(xiàn)在項(xiàng)目啟動(dòng)的時(shí)候就會(huì)加載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、當(dāng)然為了不讓項(xiàng)目啟動(dòng)報(bào)錯(cuò)

我們必需在項(xiàng)目的resources中新建一個(gè)XXX.properties文件.

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

4、文件建好之后

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

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

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

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

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

出現(xiàn)加載java的properties配置文件空指針報(bào)錯(cuò)

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

解決

后來移動(dòng)到src根目錄下面就ok了...應(yīng)該是一種配置文件的規(guī)定吧...

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解springboot配置多個(gè)redis連接

    詳解springboot配置多個(gè)redis連接

    Spring Boot為Redis, MongoDB, Elasticsearch, Solr和Gemfire提供自動(dòng)配置。本文詳細(xì)介紹了springboot配置多個(gè)redis連接,有興趣的可以了解一下。
    2017-04-04
  • 簡單聊聊Java中驗(yàn)證碼功能的實(shí)現(xiàn)

    簡單聊聊Java中驗(yàn)證碼功能的實(shí)現(xiàn)

    相信大家都經(jīng)常接觸到驗(yàn)證碼的,畢竟平時(shí)上網(wǎng)也能遇到各種驗(yàn)證碼,需要我們輸入驗(yàn)證碼進(jìn)行驗(yàn)證我們是人類,本篇文章就從這幾個(gè)方面出發(fā)說說驗(yàn)證碼,廢話不多說,下面開始正文
    2023-06-06
  • 鏈表的原理及java實(shí)現(xiàn)代碼示例

    鏈表的原理及java實(shí)現(xiàn)代碼示例

    這篇文章主要介紹了鏈表的原理及java實(shí)現(xiàn)代碼示例,涉及單向鏈表的基本介紹,單向鏈表的Java實(shí)現(xiàn)代碼分享等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以參考下。
    2017-11-11
  • 深入探究MyBatis插件機(jī)制靈活擴(kuò)展及自定義增強(qiáng)框架能力

    深入探究MyBatis插件機(jī)制靈活擴(kuò)展及自定義增強(qiáng)框架能力

    這篇文章主要介紹了深入探究MyBatis插件機(jī)制靈活擴(kuò)展及自定義增強(qiáng)框架能力
    2024-01-01
  • JavaWeb驗(yàn)證碼校驗(yàn)功能代碼實(shí)例

    JavaWeb驗(yàn)證碼校驗(yàn)功能代碼實(shí)例

    這篇文章主要介紹了JavaWeb驗(yàn)證碼校驗(yàn)功能代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Spring 實(shí)現(xiàn)自定義監(jiān)聽器案例

    Spring 實(shí)現(xiàn)自定義監(jiān)聽器案例

    這篇文章主要介紹了Spring 實(shí)現(xiàn)自定義監(jiān)聽器案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • 一文詳解Java的餓漢和懶漢設(shè)計(jì)模式

    一文詳解Java的餓漢和懶漢設(shè)計(jì)模式

    這篇文章主要為大家詳細(xì)介紹了Java設(shè)計(jì)模式中的的餓漢模式和懶漢模式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java有一定的幫助,需要的可以參考一下
    2022-12-12
  • Spring的異常處理@ExceptionHandler注解解析

    Spring的異常處理@ExceptionHandler注解解析

    這篇文章主要介紹了Spring的異常處理@ExceptionHandler注解解析,當(dāng)一個(gè)Controller中有方法加了@ExceptionHandler之后,這個(gè)Controller其他方法中沒有捕獲的異常就會(huì)以參數(shù)的形式傳入加了@ExceptionHandler注解的那個(gè)方法中,需要的朋友可以參考下
    2023-12-12
  • Spring Boot中如何使用Swagger詳解

    Spring Boot中如何使用Swagger詳解

    Swagger是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 RESTful風(fēng)格的Web服務(wù),這篇文章主要給大家介紹了關(guān)于Spring Boot中如何使用Swagger的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • springboot vue項(xiàng)目后端列表接口分頁模糊查詢

    springboot vue項(xiàng)目后端列表接口分頁模糊查詢

    這篇文章主要為大家介紹了springboot vue項(xiàng)目后端列表接口分頁模糊查詢,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評(píng)論