首頁 >Java >java教程 >spring如何讀取properties檔案? (附代碼)

spring如何讀取properties檔案? (附代碼)

不言
不言原創
2018-09-27 14:43:023325瀏覽

本篇文章帶給大家的內容是關於spring如何讀取properties檔案? (附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

問題:

需要透過properties讀取頁面的所需樓盤的名稱.為了以後便於修改.

解決:

可以透過spring的PropertiesFactoryBean 讀取properties屬性,就不需要自己透過jdk的Properties類別編寫程式讀取訊息.

<!-- 第二种方式是使用注解的方式注入,主要用在java代码中使用注解注入properties文件中相应的value值 -->
     <bean id="prop" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
         <property name="locations"><!-- 这里是PropertiesFactoryBean类,它也有个locations属性,也是接收一个数组,跟上面一样 -->
             <array>
                 <value>classpath:recommondHouse.properties</value>
             </array>
         </property>
          <!-- 设置编码格式 -->
        <property name="fileEncoding" value="UTF-8"></property>
     </bean>

注意:  需要設定fileEncoding,否則會出現亂碼情況,在eclipse中也需要設定properties編碼情況,否則頁面會顯示一堆字元和字母,無法顯示漢字,eclipse中設定如下:

 

如圖,修改3編碼為utf-8,點擊update即可.

接著透過@Value註解透過get,set方法注入資料.

package com.fyinqing.util;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component("test")
public class PropertiesUtil {
    
    @Value("#{prop.name1}")
    private  String name1;
    
    @Value("#{prop.name2}")
    private String name2;
    
    @Value("#{prop.name3}")
    private String name3;
    
    @Value("#{prop.name4}")
    private String name4;
    
    public String getName2() {
        return name2;
    }
    public void setName2(String name2) {
        this.name2 = name2;
    }
    public String getName3() {
        return name3;
    }
    public void setName3(String name3) {
        this.name3 = name3;
    }
    public String getName4() {
        return name4;
    }
    public void setName4(String name4) {
        this.name4 = name4;
    }
    public String getName1() {
        return name1;
    }
    public void setName1(String name1) {
        this.name1 = name1;
    }
    public  List<String> getNameList(){
        List<String> list = new ArrayList<String>();
        list.add(name1);
        list.add(name2);
        list.add(name3);
        list.add(name4);
        return list;
    }
}

 測試如下:(只寫了關鍵程式碼)

@Autowired
    PropertiesUtil propUtil;
@Test
    public void test4() {
        System.out.println(propUtil.getNameList());
    }

以上是spring如何讀取properties檔案? (附代碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn