java配置文件,java配置文件properties多個環境

本文目錄一覽:

java怎樣提取配置文件

java讀取配置文件的幾種方法如下:

方式一:採用ServletContext讀取,讀取配置文件的realpath,然後通過文件流讀取出來。因為是用ServletContext讀取文件路徑,所以配置文件可以放入在web-info的classes目錄中,也可以在應用層級及web-info的目錄中。文件存放位置具體在eclipse工程中的表現是:可以放在src下面,也可放在web-info及webroot下面等。因為是讀取出路徑後,用文件流進行讀取的,所以可以讀取任意的配置文件包括xml和properties。缺點:不能在servlet外面應用讀取配置信息。

方式二:採用ResourceBundle類讀取配置信息,

優點是:可以以完全限定類名的方式載入資源後,直接的讀取出來,且可以在非Web應用中讀取資源文件。缺點:只能載入類classes下面的資源文件且只能讀取.properties文件。

方式三:採用ClassLoader方式進行讀取配置信息

優點是:可以在非Web應用中讀取配置資源信息,可以讀取任意的資源文件信息

缺點:只能載入類classes下面的資源文件。

方法4 getResouceAsStream

XmlParserHandler.class.getResourceAsStream 與classloader不同

使用的是當前類的相對路徑

java配置文件怎麼寫?

參考java.util.Properties對象進行書寫,另外可以在網上找一寫輔助書寫材料。

代碼:

public static void main(String[] args) {

Properties p = new Properties();

p.setProperty(“id”, “user1”);

p.setProperty(“password”, “123456”);

try{

PrintStream stm = new PrintStream(new File(“e:\test.properties”));

p.list(stm);

} catch (IOException e) {

e.printStackTrace();

}

}

什麼是JavaConfig?

JavaConfig就是使用注釋來描述Bean配置的組件。JavaConfig 是Spring的一個子項目。

傳統spring一般都是基於xml配置的,不過後來新增了許多JavaConfig的註解。特別是springboot,基本都是清一色的java config

java使用哪種文件格式作為配置文件比較好

1. properties。Java有對應的類

import java.util.Properties

可以搜一下相關的資料,配置以「key-value」的形式存儲,適用於比較小規模的配置文件;

2. JSON。如果應用數據通過json格式傳輸的話,也可以用這個格式來作為配置文件,就不用另寫代碼了。

3. xml。適用於大型應用的配置,規範性比較強。

java 怎麼讀取配置文件

一.讀取xml配置文件

(一)新建一個java bean(HelloBean. java)

java代碼

(二)構造一個配置文件(beanConfig.xml)

xml 代碼

(三)讀取xml文件

1.利用ClassPathXmlApplicationContext

java代碼

2.利用FileSystemResource讀取

java代碼

二.讀取properties配置文件

這裡介紹兩種技術:利用spring讀取properties 文件和利用java.util.Properties讀取

(一)利用spring讀取properties 文件

我們還利用上面的HelloBean. java文件,構造如下beanConfig.properties文件:

properties 代碼

helloBean.class=chb.demo.vo.HelloBean

helloBean.helloWorld=Hello!chb!

屬性文件中的”helloBean”名稱即是Bean的別名設定,.class用於指定類來源。

然後利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader來讀取屬性文件

java代碼

(二)利用java.util.Properties讀取屬性文件

比如,我們構造一個ipConfig.properties來保存伺服器ip地址和埠,如:

properties 代碼

ip=192.168.0.1

port=8080

三.讀取位於Jar包之外的properties配置文件

下面僅僅是列出讀取文件的過程,剩下的解析成為properties的方法同上

1 FileInputStream reader = new FileInputStream(“config.properties”);

2 num = reader.read(byteStream);

3 ByteArrayInputStream inStream = new ByteArrayInputStream(byteStream, 0, num);

四.要讀取的配置文件和類文件一起打包到一個Jar中

String currentJarPath = URLDecoder.decode(YourClassName.class.getProtectionDomain().getCodeSource().getLocation().getFile(), “UTF-8”); //獲取當前Jar文件名,並對其解碼,防止出現中文亂碼

JarFile currentJar = new JarFile(currentJarPath);

JarEntry dbEntry = currentJar.getJarEntry(“包名/配置文件”);

InputStream in = currentJar.getInputStream(dbEntry);

//以上YourClassName是class全名,也就是包括包名

修改:

JarOutputStream out = new FileOutputStream(currentJarPath);

out.putNextEntry(dbEntry);

out.write(byte[] b, int off, int len); //寫配置文件

。。。

out.close();

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/229024.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 12:07
下一篇 2024-12-10 12:07

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • 為什麼Python不能編譯?——從多個方面淺析原因和解決方法

    Python作為很多開發人員、數據科學家和計算機學習者的首選編程語言之一,受到了廣泛關注和應用。但與之伴隨的問題之一是Python不能編譯,這給基於編譯的開發和部署方式帶來不少麻煩…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Python合併多個相同表頭文件

    對於需要合併多個相同表頭文件的情況,我們可以使用Python來實現快速的合併。 一、讀取CSV文件 使用Python中的csv庫讀取CSV文件。 import csv with o…

    編程 2025-04-29

發表回復

登錄後才能評論