多方法实例教程3 一 使用原生方式读取配置文件 1 文件系统加载 Java代码
2 类加载方式 A 与类同级目录 Java代码
B 在类的下一级目录 Java代码
C 指定加载资源配置文件的classes相对路径 Java代码
注意事项:如上以/开头的是指从根目录开始加载。 D 使用类加载器的方式 Java代码
E 资源配置文件在classes下 Java代码
二 使用apache提供的功能组件 参照网上相关资料 1 读取properties文件的方式 示例代码 Java代码
配置文件代码: ip=10.10.1.1 colors.pie = #FF0000, #00FF00, #0000FF 2 读取XML文件的方式 Java代码
Xml文件代码: Xml代码
示例2 Java代码
global.xml文件代码 Xml代码
示例3:混合读取二种文件 Java代码
Xml如上所示,global.properties文件如下: speed=50 name=Default User 示例4 Java代码
additional-xml-configuration.xml文件内容: Xml代码
相关API说明: # PropertiesConfiguration 从一个 property 文件中加载配置 . # XMLConfiguration 从 XML 文件中加载配置信息 . # XMLPropertyListConfiguration 也可以读取 XML 被 Mac OSX 使用变量 . # JNDIConfiguration 利用 jndi 树的一个键值,可以返回一个值,这个值来作为配置信息 # BaseConfiguration 访问内存中的一个配置对象 . # HierarchicalConfiguration 一个在内存中的配置对象,这个对象可以处理复杂的数据结构 . # SystemConfiguration 一个利用系统属性的配置信息 # ConfigurationConverter 把 java.util.Properties 或者 org.apache.collections.commons.ExtendedProperties 转化为一个 Configuration 对象 |
多方法实例1 一、使用org.apache.commons.configuration 需要使用的是jar包:commons-collections-3.2.1.jar、commons-configuration-1.10.jar、commons-lang-2.6.jar和commons-logging-1.2.jar。 可以读取的配置文件:xml和properties 1、读取xml文件 [java] view plain copy
需要注意的是config.getString(“Account.name”)中的参数是Account.name,这个参数是XPath格式的,而且不能包含xml中的根元素。 使用到的config.xml内容如下: [html] view plain copy
2、读取properties文件 [java] view plain copy
使用到的config.properties文件内容如下: [plain] view plain copy
二、使用java.util.Properties读取 [java] view plain copy
需要注意的是hetClassLoader().getResourceAsStream()的参数是项目根目录下的路径,尽管config.properties是该该类文件在相同的目录下,但是不能写成getClassLoader().getResourceAsStream("config.properties"),这样程序会报错,得到的InputStream是null值。
三、spring中配置文件的读取 1、ClassPathXmlApplicationContext:从类路径中加载。 1、使用bean工厂获取bean [java] view plain copy
2、使用上下文(Context) 上下文更加高级:提供文本信息解析工具,包括对国际化支持;提供载入文件资源的通用方法,如图片;可以向注册为监听器的bean发送事件。 在很少的情况下,使用BeanFactory。 [java] view plain copy
3、在web应用中使用 3.1、使用XmlWebApplicationContext [java] view plain copy
3.2、使用WebApplicationContextUtils工具类 [java] view plain copy
两者的区别是: 1、当采用getWebApplicationContext(getServletContext())获取context对象的时候,输出的context对象为null 所以在使用 context.getBean("helloDaoImpl", HelloDaoImpl.class);会出现空指针的异常 2、当采用getRequiredWebApplicationContext(getServletContext());获取context对象的时候 会出现如下bug java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered |
|( 京ICP备09078825号 )
GMT+8, 2024-11-23 18:42 , Processed in 0.128082 second(s), 44 queries .