內蒙古java團隊

          j2se,j2ee開發組
          posts - 139, comments - 212, trackbacks - 0, articles - 65
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Java讀取配置文件的幾種方法

          Posted on 2010-05-10 16:25 帥子 閱讀(285) 評論(0)  編輯  收藏 所屬分類: j2ee技術專區
          在現實工作中,我們常常需要保存一些系統配置信息,大家一般都會選擇配置文件來完成,本文根據筆者工作中用到的讀取配置文件的方法小小總結一下,主要敘述的是spring讀取配置文件的方法。

          ??? 一、讀取xml配置文件

          ??? (一)新建一個java bean

          package chb.demo.vo;

          public class HelloBean {
          ?private String helloWorld;

          ?public String getHelloWorld() {
          ? return helloWorld;
          ?}

          ?public void setHelloWorld(String helloWorld) {
          ? this.helloWorld = helloWorld;
          ?}
          }

          ??? (二)構造一個配置文件

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd" >
          <beans>
          ?<bean id="helloBean" class="chb.demo.vo.HelloBean">
          ? <property name="helloWorld">
          ? <value>Hello!chb!</value>
          ? </property>
          ?</bean>
          </beans>

          ??? (三)讀取xml文件

          ??? 1.利用ClassPathXmlApplicationContext

          ApplicationContext context = new ClassPathXmlApplicationContext("beanConfig.xml");
          ?HelloBean helloBean = (HelloBean)context.getBean("helloBean");
          ?System.out.println(helloBean.getHelloWorld());

          ??? 2.利用FileSystemResource讀取

          Resource rs = new FileSystemResource("D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml");
          ? BeanFactory factory = new XmlBeanFactory(rs);
          ? HelloBean helloBean = (HelloBean)factory.getBean("helloBean");
          ? System.out.println(helloBean.getHelloWorld());

          ??? 值得注意的是:利用FileSystemResource,則配置文件必須放在project直接目錄下,或者寫明絕對路徑,否則就會拋出找不到文件的異常

          二、讀取properties配置文件

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

          ??? (一)利用spring讀取properties 文件

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

          helloBean.class=chb.demo.vo.HelloBean
          helloBean.helloWorld=Hello!chb!

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

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

          ? BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
          ? PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg);
          ? reader.loadBeanDefinitions(new ClassPathResource("beanConfig.properties"));
          ? BeanFactory factory = (BeanFactory)reg;
          ? HelloBean helloBean = (HelloBean)factory.getBean("helloBean");
          ? System.out.println(helloBean.getHelloWorld());

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

          ??? 比如,我們構造一個ipConfig.properties來保存服務器ip地址和端口,如:

          ip=192.168.0.1
          port=8080

          ??? 則,我們可以用如下程序來獲得服務器配置信息:

          ? InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ipConfig.properties");
          ? Properties p = new Properties();
          ? try {
          ? p.load(inputStream);
          ? } catch (IOException e1) {
          ? e1.printStackTrace();
          ? }
          System.out.println("ip:"+p.getProperty("ip")+",port:"+p.getProperty("port"));

          主站蜘蛛池模板: 民丰县| 甘孜| 宁夏| 定南县| 黄陵县| 建平县| 德清县| 湖州市| 固阳县| 且末县| 隆昌县| 黑龙江省| 观塘区| 新源县| 鄄城县| 桃园县| 揭东县| 平度市| 石家庄市| 临沂市| 马公市| 饶河县| 会昌县| 三亚市| 民乐县| 临漳县| 伊川县| 汝南县| 钟山县| 郴州市| 望城县| 浏阳市| 社旗县| 三门县| 海伦市| 和田县| 丹寨县| 宝山区| 顺平县| 河池市| 灵寿县|