java加载xml配置文件_java读取配置文件的几种方法
原标题:java读取配置文件的几种方法
在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法。
一.读取xml配置文件
(一)新建一个java bean(HelloBean.java)
java 代码
package chb.demo.vo;
public class HelloBean {
private String helloWorld;
public String getHelloWorld() {
return helloWorld;
}
public void setHelloWorld(String helloWorld) {
this.helloWorld = helloWorld;
}
}
(二)构造一个配置文件(beanConfig.xml)
xml 代码
!----xml version=1.0 encoding=UTF-8?
!----
beans
bean id=helloBean class=chb.demo.vo.HelloBean
property name=helloWorld
valueHello!chb!value
property
bean
beans
(三)读取xml文件
1.利用ClassPathXmlApplicationContext
java 代码
ApplicationContext context = new ClassPathXmlApplicationContext(beanConfig.xml);
HelloBean helloBean = (HelloBean)context.getBean(helloBean);
System.out.println(helloBean.getHelloWorld());
2.利用FileSystemResource读取
java 代码
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文件:
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());
(二)利用java.util.Properties读取属性文件
比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,如:
properties 代码
ip=192.168.0.1
port=8080
则,我们可以用如下程序来获得服务器配置信息:
java 代码
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));
本文只介绍了一些简单操作,不当之处希望大家多多指教返回搜狐,查看更多
责任编辑:
java加载xml配置文件_java读取配置文件的几种方法相关推荐
- java遍历文件和归类_java读取文件的两种方法:java.io和java.lang.ClassLoader
java读取文件的两种方法:java.io和java.lang.ClassLoader 什么时候使用java.io,什么时候使用java.lang.ClassLoader呢? (注:要是之前读xml文 ...
- java加载配置文件_Java 读取配置文件的五种方式
方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来. 因为是用ServletContext读取文件路径,所以配置文件可以放入在WEB-INF的clas ...
- java加载字体文件_Java的加载自定义字体文件(.TTF)
我在下面这段代码中使用,并将其与该堆栈跟踪出现:Java的加载自定义字体文件(.TTF) java.io.FileNotFoundException: font.ttf (No such file o ...
- 页面加载完后立刻执行JS的两种方法
方式一:window.onload: 当一个文档完全下载到浏览器中时,才会触发window.onload事件.这意味着页面上的全部元素对js而言都是可以操作的,也就是说页面上的所有元素加载完毕才会执行 ...
- java的字符串截取函数_java 字符串截取的三种方法(推荐)|chu
众所周知,java提供了很多字符串截取的方式.下面就来看看大致有几种. 1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的 ...
- java io 读取配置文件_java读取配置文件 - tomzhao2008的个人空间 - OSCHINA - 中文开源技术交流社区...
对于要打包成jar文件来运行来说,用file是会有问题的,下面的程序可以解决这样的问题 1.ReadPropsUtil /** * */ package readproperties; import ...
- java加载不进去_java sql添加不进去
运行显示的成功,没有报错,但是数据库里面没有数据staticjtscreenjs=newjtscreen();privatestaticStringnicheng=js.getText();stati ...
- java遍历是什么意思_Java遍历集合的几种方法分析(实现原理、算法性能、适用场合)...
概述 Java语言中,提供了一套数据集合框架,其中定义了一些诸如List.Set等抽象数据类型,每个抽象数据类型的各个具体实现,底层又采用了不同的实现方式,比如ArrayList和LinkedList ...
- java中如何读写文件_JAVA: 读写文件的几种方法
如果您使用java8,可以也参考这篇文章:JAVA: Java8流逐行读取文件 import java.io.BufferedReader; import java.io.BufferedWriter ...
最新文章
- scala构建工具sbt使用介绍
- 每日一皮:客户期望 vs 最终产品
- Java多线程详解(二)
- Linux bash命令操作和VI编辑器操作
- 2021湖北高考个人成绩排名查询,2021湖北高考总成绩一分一段排名
- android 拖拽gridview,Android 可拖拽的GridView效果实现, 长按可拖拽和item实时交换
- 识辨 | 什么是分类?什么是聚类?
- Funcode学习笔记:完成Run、Jump、Idle等动作【后续更新Roll、Attack动作的实现】【By Myself】
- J1939标准概述【小白入门】
- java 定时任务的实现_Java定时任务实现的几种方式
- ERP原理及应用教程-第二章
- DES 加密解密方法
- 解决命令提示符已被系统管理员停用的问题
- 白杨SEO:淘宝客、淘客是什么、赚钱方式及怎么入门和推广引流?
- MathML与SVL
- 【React】项目中组件化使用svg格式的图片
- 下拉列表详解再详解,快速掌握!(内有代码)
- python web前端 java ui学哪个好_学IT选Java还是Python?就业发展有何区别?
- Yeslab现任明教教主CCNP Security第四天第一部分视频共享
- 网络适配器坏网卡驱动安不好(代码56)The Realtek Network Controller
热门文章
- qsort函数应用大全
- 职高中专的模块化课程设计难点
- JBoss5.x6.x 反序列化漏洞
- [安全攻防进阶篇] 一.什么是逆向分析、逆向分析应用及经典扫雷游戏逆向
- [Pyhon疫情大数据分析] 一.腾讯实时数据爬取、Matplotlib和Seaborn可视化分析全国各地区、某省各城市、新增趋势
- HarmonyOS之设备传感器的功能和使用
- Python读取大文件的坑“与内存占用检测
- 【分治的典型应用:归并排序】
- 【Linux】一步一步学Linux——declare命令(217)
- 【STM32】 keil软件工具--configuration详解(下)