一.讀取xml配置文件
(一)新建一個java bean(HelloBean. java)
java代碼
(二)構造一個配置文件(beanConfig.xml)
xml 代碼
(三)讀取xml文件
1.利用
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.來讀取屬性文件
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();
⑵ springboot讀取外部文件(springboot讀取文件內容)
springboot-項目獲取resources下文件的方法解決亂碼1、基於這兩個問題,一一解決。以上static/model/pztjmodel.xls這個路徑是從resources目錄下開始的。這個在打完包之後仍然可以。
2、解決方法:我用的是IDEA,首先File-settings-Codestyle-FileEncoding把所有的編碼都設為UTF-8就好了。
3、在java中,resources文件夾下的文件在編譯後,都是為根目錄(classpath)。
SpringBoot配置文件存放位置以及讀取順序SpringBoot系統啟動時默認會讀取的配置文件,支持propertiesyml格式。也就是說,會先載入application.properties,根據spring.profile.active的設置載入相應的application-XX.properties配置,然後按優先順序合並配置文件。
使用springboot的方式,此種方式jar需要放到前面格式例如以jar包發布springboot項目時,默認會先使用jar包同級目錄下的application.properties來作為項目配置文件。
application.properties中:server.port=8001,application.yml中:server.port=8888。問題:springboot是否都載入這兩個配置文件?如果兩個文件有相同的key,取哪一個文件的value?都載入,且按properties→yml的順序載入。
Springboot配置文件讀取-ConfigFileApplicationListener
至此,整個environment的配置載入過程就完成了。
idea中,為了我們本地方便開發測試,我們在此處創建一個config目錄,然後把application.properties放進去,項目正常運行。jar包會自動生成在target目錄下。
常見的讀取配置的方式有三種:第@Value註解,比較常用的一種方式。
配置文件SpringBoot使用一個全局的配置文件application.propertiesapplication.yml配置文件的作用:修改SpringBoot自動配置的默認值,SpringBoot在底層都給我們自動配置好。
SpringBoot的參數配置除了使用properties文件之外,還可以使用yml文件。如果你喜歡用yml格式的配置文件可以將application.properties修改為application.yml。SpringBoot應用程序有多種設置途徑。
SpringBoot讀取配置數據的幾種方式1、常見的讀取配置的方式有三種:第@Value註解,比較常用的一種方式。
2、springboot支持多種配置文件讀取方式,了解這些方式有助於查詢和定位問題以及選擇合適的方式進行開發。
3、使用開發工具創建一個純凈maven工程刪除配置spring-biz.xml並且新增如下配置:本文梳理了SpringBoot六種讀取配置方式,大家在項目中可以進行靈活組合和應用,希望本文對大家有所幫助。
4、springboot中有三種方式可以獲取yml配置文件中的配置內容。
5、nacos在springboot啟動的時候已經把所有配置文件都注入到了spring里。
⑶ java讀取配置文件的方法(xml)
用的是jdom包
URL url = RederXml.class.getClassLoader().getResource("");
String path = url.toString() + "/config.xml";\\工程種xml的路徑
HashMap<String, String> map = new HashMap<String, String>();
SAXBuilder sax = new SAXBuilder();
Document doc = null;
try {
doc = sax.build(path);
} catch (JDOMException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Element root = doc.getRootElement();
⑷ JAVA的config.properties 放在WEB項目什麼地方到底怎麼讀取
看不太懂你的意思,猜想你是希望通過相對路徑訪問你的*.properties文件。你說你把文件放到了WEB根目錄中,那麼我可以這樣獲得Properties對象
//servlet中
String realPath = this.getServletContext().getRealPath("/config.properties");//這個路徑是相對於Web程序的,如果你放在WEB-INF目錄中就是"/WEB-INF/config.properties"
InputStream in = new FileInputStream(realPath);//獲得*.properties文件的讀取流對象
Properties p = new Properties();
p.load(in);
⑸ Java-Config 入門教程
JavaConfig入門教程要點如下:
JavaConfig簡介:
創建配置類:
使用@Bean註解:
替換上下文類:
移除XML文件:
JavaConfig的優勢:
後續學習方向: