- 浏览: 577289 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
a1641693970:
还不错,学习了
BeanUtils使用总结(二)LazyDynaBean -
zjfshowtime:
很好的办法,学习了。
ORA-28001: the password has expired -
ya654277yo:
哦,多谢分享
Apache整合Tomcat后get方式提交中文乱码问题解决 -
foolkeeper:
nice !!
jvm内存参数设定 -
tracy821:
谢谢了,找了好久才找到
关于Spring 声明式事务处理时,throws exception不回滚的问题
传统通过读取资源文件方式:
1、Properties
Properties pro = new Properties ();
加载资源文件分如下几种:
(1)、pro.load(new FileInputStream("config.properties"));读取当前目录的config.properties文件
(2)、props.load(getClass.getResourceAsStream("config.properties")); 读取当前类所在位置一起的config.properties文件
(3)、props.load(getClass.getResourceAsStream("/config.properties")); 读取ClassPath的根的config.properties文件,注意ClassPath如果是多个路径或者jar文件的,只要在任意一个路径目录下或者jar文件里的根下都可以,如果存在于多个路径下的话,按照ClassPath中的先后顺序,使用先找到的,其余忽略
备注:加载XML方式类似,只是调用loadFromXML(in);
获取属性值的方式:
String |
getProperty(String key) 用指定的键在此属性列表中搜索属性。 |
String |
getProperty(String key, String defaultValue) 用指定的键在属性列表中搜索属性。 |
2、ResourceBundle
加载资源文件的方式
(1)ResourceBundle bundle = ResourceBundle.getBundle("config");
(2)ResourceBundle res = ResourceBundle.getBundle("config.properties");
获取属性值的方式:
abstract Enumeration<String> |
getKeys() 返回键的枚举。 |
Object |
getObject(String key) 从此资源包或它的某个父包中获取给定值的对象。 |
String |
getString(String key) 从此资源包或它的某个父包中获取给定值的字符串。 |
String[] |
getStringArray(String key) 从此资源包或它的某个父包中获取给定值的字符串数组。 |
使用commons-configuration.jar 中的Configuration读取资源文件
1、Properties
比如,有如下的配置信息:
speed=23.332 names=Bob,Gautam,Jarret,Stefan correct=false |
可以像这样来访问他们:
Configuration config = new PropertiesConfiguration(getClass() .getResource("/resources/config.properties")); float speed = config.getFloat("speed"); List names = config.getList("names"); boolean correct = config.getBoolean("correct"); |
传递给PropertiesConfiguration构建函数的参数可以是文件名、可以访问到文件的URL、以及文件本身(File对象)。当然,Properties类也可以完成同样的事情,但只支持返回String类型的值。
2、XML
希望使用XML格式的配置文件来配置应用程序。
解决方案:
Configuration config = new XMLConfiguration("resources/config.xml"); List criterias = config.getList("start-criteria.criteria"); String criteria = config.getString("start-criteria.criteria(0)"); String type = config.getString("start-criteria.criteria(0)[@type]");//自己替换[] int horsepower = config.getInt("horsepower"); |
使用XMLConfiguration类可以加载并访问XML格式的配置文件,访问配置信息使用的是XPath格式 (XPath请参数相应的XML文档)。
传递给XMLConfiguration构建函数的参数可以是文件名、可以访问到文件的URL、以及文件本身(File对象)。
3、组合配置
有时候应用程序使用一种多层结构的配置方式,即上一层的配置可以被下一层选择性地覆盖。
解决方案:
configuration.xml
<?xml version="1.0" encoding="ISO-8859-1" ?> <configuration> <properties fileName="user.properties" /> <properties fileName="local.properties" /> <properties fileName="global.properties" /> </configuration> |
global.properties
threads.max=50 threads.min=2 timeout=15.52 interactive=true color=red speed=50 name=Default User |
local.properties
# Overrides Global Props threads.max=30 speed=55 |
user.properties
# Overrides Local Props threads.min=1 color=black speed=5000 name=Sean |
ConfigurationFactory factory = new ConfigurationFactory(); factory.setConfigurationURL(CfgTest3.class.getResource("/resources/configuration.xml")); Configuration config = factory.getConfiguration(); // print out properties System.out.println("Timeout: " + config.getFloat("timeout")); System.out.println("Max Threads: " + config.getString("threads.max")); System.out.println("Name: " + config.getString("name")); System.out.println("Speed: " + config.getInt("speed")); |
创建一个声明多个properties配置的configuration.xml文件,并传递给ConfigurationFactory,ConfigurationFactory解析这些properties配置,生成一个包含最终配置信息的Configuration实例,通过这个实例访问到的配置信息,就是被覆盖过的最终版本。
上面实例中的configuration.xml文件由多个<properties/>元素组成,覆盖的顺序由上往下,也就是说user.properties会覆盖local.properties,local.properties会覆盖global.properties。
其他:
configuration.xml文件可以使用如下的元素来声明配置文件:
•<properties/> 用于声明properties格式的配置文件
•<xml/>用于声明xml格式的配置文件
除了可以访问properties格式和xml格式的配置文件以外,Commons Configuration包还定义了JNDIConfiguration类来访问JNDI树格式的配置信息。
发表评论
-
BCD Conversion in java
2016-03-31 23:39 1841/** * Copyright 2010 Firat ... -
在java代码中获取JVM参数
2014-04-08 11:16 14258近日关注性能调优,关注JMX,发现java.lang.man ... -
GC日志分析配置与工具
2013-05-08 11:32 1358-verbose:gc(打印GC日志) -Xloggc:( ... -
java 实现HTTP PROXY
2012-12-06 17:21 7582日常应用中使用过很多次代理,主要停留在配置级别。 近期无意看 ... -
运行时获取方法调用堆栈信息(java)
2012-09-14 10:53 9700前几日系统流程回调时,一个方法莫名其妙被调用,无法定位调用点。 ... -
EL表达式在tomcat7.0下的new关键字不能使用
2012-08-24 17:25 4066最近生产系统部署个小应用,服务器选型tomcat7.0,一直运 ... -
xfire设置连接超时问题
2012-08-01 17:25 5151近期使用xfire作为客户端访问WS,结果因为目标主机假死 ... -
将多个对象写到一个文件
2012-07-20 17:08 1250来看一段ObjectOutputStream构造方法的源代码 ... -
多线程学习笔记:synchronized
2011-12-15 17:32 844Java语言的关键字,当它 ... -
(转)使用 Eclipse Memory Analyzer 检测内存泄漏问题
2011-12-14 18:10 1146本文是关于在开发 Talend RCP 过程中碰 ... -
多线程学习笔记:thread 线程中的sleep()、wait()、yield()、join()
2011-12-14 17:46 12821.sleep()方法 在指定时间内让当前正在执行的线程暂 ... -
jconsole监控JVM
2011-12-12 17:46 1566本地监控: Jconsole [processed] ... -
Java 6 JVM参数选项大全(中文版)
2011-11-03 15:19 1040本文 是基于最新的SUN官方 文档Java SE 6 ... -
Java实现远程屏幕监视
2011-10-19 17:40 734Robot robot = new Robot(); / ... -
java线程池 常用方法
2011-09-24 22:52 1392在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于 ... -
JAVA 调用Web Service的方法
2011-08-15 10:28 11571.使用HttpClient 用到的jar文件:comm ... -
JVM监控工具--jvmstat
2011-08-02 15:42 1280首先就是下载这个工具链接:http://java.sun.co ... -
java性能优化
2011-07-18 15:19 1108一、避免在循环条件中 ... -
jvm内存参数设定
2011-07-17 20:30 1383在开发java应用时经常出 ... -
怎样解决Java内存泄漏
2011-07-15 11:38 1458解决Java 内存泄漏 Java内存泄漏是每个 ...
相关推荐
在这个范例中,我们将深入探讨如何使用 `XMLConfiguration` 类来读取XML配置文件,并从中提取数据。 XML配置文件是一种常见的存储应用程序设置的方式,因为它们结构清晰,易于人类阅读和编辑。`XMLConfiguration` ...
本资源"Android应用源码之Configuration_Configuration.zip"可能包含了深入解析Android Configuration类的源代码分析。 当我们谈论Android的Configuration时,首先要知道它是如何影响应用的。当设备的配置发生改变...
- **@Configuration** 类内部通常包含一个或多个使用了 **@Bean** 注解的方法,这些方法将被 `AnnotationConfigApplicationContext` 或 `AnnotationConfigWebApplicationContext` 类扫描并用来构建 Bean 定义,最终...
本文将围绕“common-configuration”的一些应用展开,探讨如何使用和理解这些常见的配置文件格式,以及它们在实际开发中的作用。 首先,`config.ini`是一种基于文本的配置文件,通常用于存储应用程序的设置。它采用...
JAVA中的Configuration类详解 JAVA中的Configuration类是Java平台默认的配置文件格式,优点是格式清晰,简单易懂。使用commons-configuration读取properties文件也比较简单。 基本用法: 1. 加载jar包,使用maven...
} }在测试类中,我们使用 AnnotationConfigApplicationContext 而不是 ClassPathXmlApplicationContext,因为 MyConfig 类上有 @Configuration 注解,表明这是一个配置类,Spring 将会读取这个类来创建 Bean。...
XML配置文件的处理使用`XMLConfiguration`类。同样,通过指定文件路径,可以创建配置实例并获取配置信息。 2. **写入XML配置文件** 添加、修改XML配置使用`setProperty()`方法,删除则使用`removeProperty()`。保存...
使用`System.Configuration.ConfigurationManager`类可以轻松读取配置文件中的值。例如,读取`appSettings`中的键值对: ```csharp string key1 = ConfigurationManager.AppSettings["Key1"]; string ...
在给定的“ConfigurationTool.zip”压缩包中,我们找到了一个工具,它使用Oracle.ManagedDataAccess.Client库来实现对Oracle数据库的连接和操作,而无需安装完整的Oracle客户端。这种做法大大简化了系统的部署和维护...
SpringBoot 中 AutoConfiguration 的使用方法 AutoConfiguration 是 Spring Boot 中的一种自动配置机制,通过该机制可以自动装配 Spring Boot 应用程序所需的依赖项。下面将详细介绍 AutoConfiguration 的使用方法...
下面我们将深入探讨 Commons Configuration 的核心功能以及如何使用它来处理 properties、ini 和 XML 配置文件。 1. **Properties 文件**: - `Properties` 类是 Java 标准库的一部分,用于处理 `.properties` ...
@Configuration 注解是 Spring Framework 中的一个重要组件,它用于标注配置类,告诉 Spring Framework 如何处理 Bean 的创建和管理。在本文中,我们将深入探讨为什么需要在配置类上添加 @Configuration 注解,并...
Commons Configuration 使用`XMLConfiguration`类来处理XML配置文件。它支持XPath表达式,允许你通过路径定位到特定的配置元素。此外,XMLConfiguration还具备递归解析嵌套元素的能力,这对于大型复杂应用来说非常...
在.NET框架中,`ConfigurationManager`是一个非常重要的工具类,它主要用于应用程序配置文件(如App.config或Web.config)的读取与管理。本文将深入探讨`ConfigurationManager`的基本概念、工作原理以及如何在实际...
2.这个程序具体的内容我忘了,只知道使用@Profile@Configuration@RestController@Autowired(设置环境配置类控制类)等方法写的,具体实现的功能就是新建一些.yml和.java以及接口类文件,实现在.yml文件中配置指定要...
在本文中,我们将深入探讨`commons-configuration-1.10.jar`这个特定版本的特性、功能及其使用方法。 `commons-configuration-1.10.jar`是Apache Commons Configuration库的一个稳定版本,发布于2013年,它为开发者...
在Spring Boot框架中,`@Configuration`注解是核心组件之一,它用于标记一个类作为配置类,使得我们可以使用Java配置来替代XML配置。在这个"自定义@Configuration配置类启用开关.zip"项目中,我们很显然会看到如何...
- 在Spring Boot中,通常会将@Configuration类放在主程序类所在的包或其子包下,这样Spring Boot自动扫描并加载配置。 2. **@ComponentScan** - 如果配置类需要扫描其他组件或配置类,可以使用`@ComponentScan`...
8. **API使用**:在代码中,可以通过`Autofac.ConfigurationSectionHandler`和`ContainerBuilderExtensions.LoadConfiguration`方法来加载配置文件并应用到Autofac容器中。 9. **集成测试**:依赖注入配置的分离...