Java几种读取配置文件的方法

时间:2013-09-18 15:24:51  作者:啤酒  阅读:16777215

在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是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;

}

}

(二)构造一个配置文件

Hello!chb!

(三)读取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"));

BlueJ For Mac V2.1.6 电脑
BlueJ For Mac V2.1.6
大小:5.7MB  时间:12.28  赞:14

相关文章

  • OSX 10.11 java 6不兼容问题解决办法
    OSX 10.11 java 6不兼容问题解决办法

     有很多用户在使用最新的OSX 10.11系统时会发现java SE 6不兼容的问题,其实要解决 这个问题比较简单,用户需要下载安装最新的Java SE 8就能完美的解决这个问题,下面小编详细的为大家解说一下具体的解决办法。

    16777215
  • reflect Java的反射机制教程
    reflect Java的反射机制教程

    一、类型识别的两种方式:

    16777215
  • Java几种读取配置文件的方法
    Java几种读取配置文件的方法

    在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法。

    16777215
  • ubuntu如何安装Java开发环境
    ubuntu如何安装Java开发环境

    1.  从sun主页下载JDK for Linux版本。这里下载的是jdk-6u6-linux-i586.bin.

    16777215
  • JPA不同实现的配置方法
    JPA不同实现的配置方法

    以前使用JPA的实现是toplink,现在改为hibernate,所以要修改persistence.xml文件,两者的配置有一些不一样,并且在EE环境下面和SE的环境下面也有不一样,还有一点,那就是当persistence.xml里面有些格式出错的时候,虽然出错的不是我们需要的那个单元,但也会使得整个persistence.xml报废。

    16777215
  • Java怎么用MyEclipse 配置TOMCAT
    Java怎么用MyEclipse 配置TOMCAT

    Java:jdk-1_5_0_06-windows-i586-p.exe

    16777215
  • java存储过程单步调试详解
    java存储过程单步调试详解

    1.在要调试的过程上单击test,如下图所示:

    16777215
  • Fedora下Java环境怎么设置
    Fedora下Java环境怎么设置

    Fedora 的Java路径通常为/usr/bin/java,而且是GNU的Java版本,对很多软件来说都不适合。

    16777215
  • Java软件安装方法
    Java软件安装方法

    大家应该都会注意到Java软件安装文件夹的编号比如MIDlet20005,MIDlet20032,MIDlet20055等等,装过越多,编号会越来越大,即使你已经卸载掉!造成编号的不连续,中间很多编号都空缺!只装了10个不到的Java,编号却到了100都有可能。   解决空缺编号的方法如下:在mmc/mmca1/.system/Java/JAMinfo下有个maxsuiteid_card1的文件和一个index_card1文件!用ezxlocaleditor打开maxsuiteid_card1文件!里面看到的就是最近安装的Java的编号。    比如20026,因此你下次Java软件安装的Java的编号将是20027,如果你发现mmc/mmca1/.system/Java/DownloadApps下的文件夹编号20005~20016都是空缺的!而你要想让下一次安装的Java编号补到20005上!则将maxsuiteid_card1文件里的数值改为20004.    但要注意的是如果中间比如20010编号已被占用,需手动改回!否则旧的将会被新装的覆盖。    另外在你替换Java图标或单独绿色时想在那么多编号文件夹里找到对应的程序难免头痛!这时index_card1文件就派上用场了!里面记录的是Java的安装信息,你可以方便地找到编号与相应程序的对应关系!通过修改编号后紧接着的安装软件的名称,可以实现同一个Java程序的多个安装,而不会提示更新!

    16777215