詳解利用Spring加載Properties配置文件
記得之前寫Web項(xiàng)目的時候配置文件的讀取都是用Properties這個類完成的,當(dāng)時為了項(xiàng)目的代碼的統(tǒng)一也就沒做什么改動。但事后一直在琢磨SpringMVC會不會都配置的注解功能了?經(jīng)過最近的研究返現(xiàn)SpringMVC確實(shí)帶有這一項(xiàng)功能,Spring確實(shí)很強(qiáng)大。
因?yàn)榇a很簡單,我就貼上我測試的代碼,按照步驟做就可以實(shí)現(xiàn)了。
新建配置文件jdbc.properties
username=root password=root
新建并配置文件spring-properties
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="locations"> <list> <value>classpath:jdbc.properties</value> </list> </property> <property name="fileEncoding" value="UTF-8"/> </bean> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"> <property name="properties" ref="configProperties"/> </bean> </beans>
新建單元測試
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:spring/spring-properties.xml") public class TestTrans { @Value("#{configProperties['username']}") private String username; @Value("#{configProperties['password']}") private String password; @Test public void testProperties(){ System.out.println("---"); System.out.println(username); System.out.println(password); } }
使用上面這種方式注解Properties的話Intelij IDEA會有提示的,按住Ctrl然后將鼠標(biāo)點(diǎn)擊屬性'username'會調(diào)入到對應(yīng)的配置文件中,這樣也可以驗(yàn)證我們的配置是否生效。
現(xiàn)在雖然知道如何使用注解加載配置文件了,但是PropertiesFactoryBean和PreferencesPlaceholderConfigurer的區(qū)別和作用還沒有弄清楚,另外Spring的單元測試框架也沒有怎么研究,如果知道的讀者可以再下方留言告述我,如果沒人回答的話只能以后有時間慢慢研究了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)小i機(jī)器人api接口調(diào)用示例
這篇文章主要介紹了java實(shí)現(xiàn)小i機(jī)器人api接口調(diào)用示例,需要的朋友可以參考下2014-04-04Eclipse+Java+Swing實(shí)現(xiàn)圖書管理系統(tǒng)(詳細(xì)代碼)
這篇文章主要介紹了Eclipse+Java+Swing實(shí)現(xiàn)圖書管理系統(tǒng)并附上詳細(xì)代碼,需要的小伙伴可以參考一下,希望對你有所幫助2022-01-01詳談Java枚舉、靜態(tài)導(dǎo)入、自動拆裝箱、增強(qiáng)for循環(huán)、可變參數(shù)
下面小編就為大家?guī)硪黄斦凧ava枚舉、靜態(tài)導(dǎo)入、自動拆裝箱、增強(qiáng)for循環(huán)、可變參數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08Java反射機(jī)制如何解決數(shù)據(jù)傳值為空的問題
這篇文章主要介紹了Java反射機(jī)制如何解決數(shù)據(jù)傳值為空的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03Java編寫程序之輸入一個數(shù)字實(shí)現(xiàn)該數(shù)字階乘的計(jì)算
這篇文章主要介紹了Java編寫程序之輸入一個數(shù)字實(shí)現(xiàn)該數(shù)字階乘的計(jì)算,本文通過實(shí)例代碼給大家介紹的非常想詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02