java读取配置文件总结

由于工作中用到配置文件,所以学习了一下,总结以备后用。
[size=medium]一、读取properties配置文件[/size]
(一)、利用java.util.Properties读取属性文件

systemConfig.properties文件内容
ip=192.168.0.1
port=8080


public class SystemConfig {
private static Properties props = null;
static {

try {

props = new Properties();

URL url = Thread.currentThread().getContextClassLoader()

.getResource("systemConfig.properties");

if (url != null) {

props.load(url.openStream());

}

} catch (Exception e) {

e.printStackTrace();

}

}
public static String getProperty(String key) {

return getProperty(key, "");

}
public static String getProperty(String key, String defaultValue) {

if (props != null && props.getProperty(key) != null) {

return props.getProperty(key);

}
return defaultValue;
}

public static void main(String[] args) {

String str = SystemConfig.getProperty("ip");

String str1 = SystemConfig.getProperty("port");

System.out.println(str + "==11=="+str1);

}

}

(二)、利用spring读取properties 文件(测试不通过)
构造如下beanConfig.properties文件:
properties 代码

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

属性文件中的"helloBean"名称即是Bean的别名设定,.class用于指定类来源。
然后利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader来读取属性文件
java 代码

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());
[color=red]这个方法我测试不行,网上说这样做。希望能人给个答案。[/color]
[size=medium]二、读取xml配置文件[/size]
(一)新建一个java bean(HelloBean.java)

1. package chb.demo.vo;
2.
3. public class HelloBean {
4. private String helloWorld;
5.
6. public String getHelloWorld() {
7. return helloWorld;
8. }
9.
10. public void setHelloWorld(String helloWorld) {
11. this.helloWorld = helloWorld;
12. }
13. }
14.

(二)构造一个配置文件(beanConfig.xml)
xml 代码

1. xml version="1.0" encoding="UTF-8"?>
2. >
3. <beans>
4. <bean id="helloBean" class="chb.demo.vo.HelloBean">
5. <property name="helloWorld">
6. <value>Hello</value>
7. property>
8. bean>
9. beans>

(三)读取xml文件
1.利用ClassPathXmlApplicationContext
java 代码

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

2.利用FileSystemResource读取
java 代码

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

值得注意的是:利用FileSystemResource,则配置文件必须放在project直接目录下,或者写明绝对路径,否则就会抛出找不到文件的异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值