Java读取配置文件的几种方法 |
在 事实工作中,我们 一般需求 保留一些系统配 相信息,大家一般都会 取舍配置文件来 实现,本文依据小编工作中用到的读取配置文件的 步骤小小总结一下,重要叙述的是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")); |