读书人

读取spring资料的方法总结

发布时间: 2012-10-09 10:21:45 作者: rapoo

读取spring文件的方法总结

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

??? (一)新建一个java bean(HelloBean.java)
??? 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!chb!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直接目录下,或者写明绝对路径,否则就会抛出找不到文件的异常

二.读取properties配置文件

??? 这里介绍两种技术:利用spring读取properties 文件和利用java.util.Properties读取
??? (一)利用spring读取properties 文件
??? 我们还利用上面的HelloBean.java文件,构造如下beanConfig.properties文件:
??? properties 代码

?????? 1. helloBean.class=chb.demo.vo.HelloBean??
?????? 2. helloBean.helloWorld=Hello!chb!?

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

?????? 1. BeanDefinitionRegistry reg = new DefaultListableBeanFactory();??
?????? 2.? PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg);??
?????? 3.? reader.loadBeanDefinitions(new ClassPathResource("beanConfig.properties"));??
?????? 4.? BeanFactory factory = (BeanFactory)reg;??
?????? 5.? HelloBean helloBean = (HelloBean)factory.getBean("helloBean");??
?????? 6.? System.out.println(helloBean.getHelloWorld());??

????
??? (二)利用java.util.Properties读取属性文件
??? 比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,如:
??? properties 代码

?????? 1. ip=192.168.0.1??
?????? 2. port=8080?

??? 则,我们可以用如下程序来获得服务器配置信息:
??? java 代码

?????? 1. InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ipConfig.properties");??
?????? 2.?? Properties p = new Properties();??
?????? 3.?? try {??
?????? 4.??? p.load(inputStream);??
?????? 5.?? } catch (IOException e1) {??
?????? 6.??? e1.printStackTrace();??
?????? 7.?? }??
?????? 8. System.out.println("ip:"+p.getProperty("ip")+",port:"+p.getProperty("port"));?

读书人网 >软件架构设计

热点推荐