內(nèi)蒙古java團(tuán)隊(duì)

          j2se,j2ee開發(fā)組
          posts - 139, comments - 212, trackbacks - 0, articles - 65
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          在現(xiàn)實(shí)工作中,我們常常需要保存一些系統(tǒng)配置信息,大家一般都會(huì)選擇配置文件來(lái)完成,本文根據(jù)筆者工作中用到的讀取配置文件的方法小小總結(jié)一下,主要敘述的是spring讀取配置文件的方法。

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

          ??? (一)新建一個(gè)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;
          ?}
          }

          ??? (二)構(gòu)造一個(gè)配置文件

          <?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直接目錄下,或者寫明絕對(duì)路徑,否則就會(huì)拋出找不到文件的異常

          二、讀取properties配置文件

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

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

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

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

          ??? 屬性文件中的"helloBean"名稱即是Bean的別名設(shè)定,.class用于指定類來(lái)源。

          ??? 然后利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader來(lái)讀取屬性文件

          ? 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讀取屬性文件

          ??? 比如,我們構(gòu)造一個(gè)ipConfig.properties來(lái)保存服務(wù)器ip地址和端口,如:

          ip=192.168.0.1
          port=8080

          ??? 則,我們可以用如下程序來(lái)獲得服務(wù)器配置信息:

          ? 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"));

          主站蜘蛛池模板: 中阳县| 彭水| 屯门区| 静海县| 白沙| 鹤峰县| 齐齐哈尔市| 保康县| 阿拉善左旗| 盐津县| 镇赉县| 凤翔县| 比如县| 阜阳市| 揭西县| 石泉县| 防城港市| 凤翔县| 志丹县| 西乡县| 札达县| 新和县| 大关县| 普定县| 凤山县| 许昌市| 东乌珠穆沁旗| 大洼县| 通海县| 郯城县| 汾西县| 嵩明县| 密云县| 清流县| 陆河县| 阿勒泰市| 安义县| 九龙坡区| 江华| 衢州市| 太湖县|