java读取配置文件总结

由于工作中用到配置文件,所以学习了一下,总结以备后用。
一、读取properties配置文件
(一)、利用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());  
这个方法我测试不行,网上说这样做。希望能人给个答案。
二、读取xml配置文件
(一)新建一个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直接目录下,或者写明绝对路径,否则就会抛出找不到文件的异常

你可能感兴趣的:(java,spring,tomcat,xml,bean)