當前位置:首頁 » 存儲配置 » spring怎麼引用配置文件

spring怎麼引用配置文件

發布時間: 2024-12-04 13:34:44

㈠ SpringBoot 項目打成 jar 後,如何載入外部的配置文件

本文探討了如何在SpringBoot項目打包成jar後,載入外部配置文件的方法。通常,配置信息放在application.properties文件中,但若需要頻繁修改,建議將其外置。

首先,我們考慮將application.properties文件外置。此文件主要用於定義配置信息,如項目名稱、資料庫連接等,其外置方法如下:

1. 在項目中定義application.properties文件,並將其放置於項目路徑外。例如,可將其保存在同級目錄下。

2. 在Controller中使用此文件進行配置讀取。啟動時使用java -jar命令,例如:java -jar springboot-out-properties-0.0.1-SNAPSHOT.jar。

3. 修改配置文件中的值。若將此文件放在項目同級目錄下,重新啟動應用後,讀取的配置值將相應改變。

4. 若需將application.properties文件放入自定義目錄(如config),應用仍能識別。通過指定路徑使用java命令啟動應用,如:java -jar springboot-out-properties-0.0.1-SNAPSHOT.jar--spring.config.location=conf/application.properties。

5. 使用絕對路徑同樣可行:java -jar springboot-out-properties-0.0.1-SNAPSHOT.jar--spring.config.location=/Users/linxiangxian/Downloads/conf/application.properties。

在實際應用中,若需使用自定義的properties文件,如demo.properties,可以通過@PropertySource註解進行配置。但直接放置於jar包同路徑下可能無法識別,這時需通過指定路徑啟動應用或使用@PropertySource指定多個路徑。

總結,SpringBoot項目打成jar後,配置文件載入邏輯如下:

1. application.properties默認讀取classpath下的文件。同級路徑下的文件直接讀取,無需調整啟動命令。

2. 放置在config下的application.properties文件同樣可直接讀取,啟動命令不變。

3. 同級目錄下的conf/application.properties文件,需通過--spring.config.location參數指定路徑讀取。

4. 對於自定義的properties文件(如demo.properties),默認從classpath讀取。若需在不同路徑下使用,可通過配置@PropertySource指定多個路徑,並將期望被使用的路徑置於最後,以覆蓋之前的配置。

㈡ 如何在spring中讀取properties配置文件裡面的信息

一般來說。我們會將一些配置的信息放在。properties文件中。
然後使用${}將配置文件中的信息讀取至spring的配置文件。

那麼我們如何在spring讀取properties文件呢。

1.首先。我們要先在spring配置文件中。定義一個專門讀取properties文件的類.
例:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:jdbc.properties</value>
<!--要是有多個配置文件,只需在這里繼續添加即可 -->
</list>
</property>
</bean>

這里為什麼用locations(還有一個location)
是因為。一般來說。我們的項目裡面。配置文件可能存在多個。
就算是只有一個。那將來新添加的話。只需在下面再加一個value標簽即可。
而不必再重新改動太多。(當然。性能上是否有影響,這個以當前這種伺服器的配置來說。是基科可以忽略不計的)。

然後我們就可以在jdbc.properties文件中填寫具體的配置信息了。

<!-- 配置C3P0數據源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>${jdbc.driverClassName}</value>
</property>
<property name="jdbcUrl">
<value>${jdbc.url}</value>
</property>
<property name="user">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>

jdbc.properties文件寫的信息。

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=root

附加一個列子:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>file:/data/pc-config/passport.properties</value>
<value>classpath:memcached.properties</value>
</list>
</property>
</bean>
classpath:是指的當前類文件的目錄下。
file:在window下是指的當前分區(比如你的項目是放在d盤,則是在d:/data/pc-config/passport.properties)
linux下,則是當前路徑下的文件/data/pc-config/passport.properties
轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦

熱點內容
game96游戲安卓版哪裡下載 發布:2024-12-05 01:59:32 瀏覽:447
量子智能演算法 發布:2024-12-05 01:46:35 瀏覽:81
qt編譯失敗配置沒有改變 發布:2024-12-05 01:45:38 瀏覽:164
access的資料庫對象中 發布:2024-12-05 01:42:04 瀏覽:853
hdfs雲存儲 發布:2024-12-05 01:36:54 瀏覽:208
渭南電信寬頻密碼默認是多少 發布:2024-12-05 01:35:37 瀏覽:862
怎麼連接伺服器顯示器 發布:2024-12-05 01:35:36 瀏覽:325
資料庫自定義函數 發布:2024-12-05 01:33:46 瀏覽:504
榮耀魔改存儲 發布:2024-12-05 01:32:12 瀏覽:667
php輕松入門 發布:2024-12-05 00:46:26 瀏覽:247