spring管理属性配置文件properties——使用PropertiesFactoryBean
2015-09-24 19:41
1021 查看
对于属性配置,一般采用的是键值对的形式,如:
key=value
属性配置文件一般使用的是XXX.properties,当然有时候为了避免eclipse把properties文件转码,放到服务器上认不出中文,可以采用XXX.conf的形式管理属性配置。
spring对于属性文件有自己的管理方式,通过spring的管理,可以直接使用@Value的方式直接得到属性值。
先使用org.springframework.beans.factory.config.PropertiesFactoryBean对属性配置文件进行管理。
1.新建一个java project,命名spring_test;
2.导入jar包:
3.在src下新建一个config.propertites:
4.新建一个文件夹config;
5.新建一个app.conf:
总结:
1.使用org.springframework.beans.factory.config.PropertiesFactoryBean获取属性的方式是:
key=value
属性配置文件一般使用的是XXX.properties,当然有时候为了避免eclipse把properties文件转码,放到服务器上认不出中文,可以采用XXX.conf的形式管理属性配置。
spring对于属性文件有自己的管理方式,通过spring的管理,可以直接使用@Value的方式直接得到属性值。
先使用org.springframework.beans.factory.config.PropertiesFactoryBean对属性配置文件进行管理。
1.新建一个java project,命名spring_test;
2.导入jar包:
aopalliance-1.0.jar commons-logging-1.1.1.jar org.springframework.test-3.1.0.RELEASE.jar spring-aop-3.1.1.RELEASE.jar spring-asm-3.1.1.RELEASE.jar spring-beans-3.1.1.RELEASE.jar spring-context-3.1.1.RELEASE.jar spring-context-support-3.1.1.RELEASE.jar spring-core-3.1.1.RELEASE.jar spring-expression-3.1.1.RELEASE.jar
3.在src下新建一个config.propertites:
author_name=lee
4.新建一个文件夹config;
5.新建一个app.conf:
project_info=项目6.新建一个spring配置文件applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:annotation-config /> <context:component-scan base-package="com.*"></context:component-scan> <!-- 使用注解注入properties中的值 --> <bean id="setting" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="locations"> <list> <value>classpath:*.properties</value> <value>file:config/*.conf</value> </list> </property> <!-- 设置编码格式 --> <property name="fileEncoding" value="UTF-8"></property> </bean> </beans>7.新建一个获取属性配置文件属性的类ConfigProperty.java:
package com.lee.property.test; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; /** * config.properties文件映射类 * * */ @Component("configProperty") public class ConfigProperty { /** 作者名字 */ @Value("#{setting[author_name]}") private String authorName; /** 项目信息 */ @Value("#{setting[project_info]}") private String projectInfo; public String getAuthorName() { return authorName; } public void setAuthorName(String authorName) { this.authorName = authorName; } public String getProjectInfo() { return projectInfo; } public void setProjectInfo(String projectInfo) { this.projectInfo = projectInfo; } }8.新建测试类:
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"classpath:applicationContext.xml"}) public class ConfigPropertyTest { @Resource(name = "configProperty") private ConfigProperty configProperty; /** * 测试Spring注解获取properties文件的值 */ @Test public void test() { System.out.println(configProperty.getAuthorName()); System.out.println(configProperty.getProjectInfo()); } }
总结:
1.使用org.springframework.beans.factory.config.PropertiesFactoryBean获取属性的方式是:
@Value("${beanid['properties_key']}")2.使用
<!-- 设置编码格式 --> <property name="fileEncoding" value="UTF-8"></property>主要为了解决属性文件中value为中文时乱码的问题。
相关文章推荐
- Struts2的action配置方法
- 多线程
- Spring MVC 环境搭建
- JAVA编程基础(三)
- spring实现javaMail
- java 基本类型与字符串之间的转换
- Java中关于时间间隔的计算
- 恢复eclipse默认的背景色和字体等格式
- Java学习笔记【包】
- Java 十大异常报错
- Java基础知识强化65:基本类型包装类之Integer的构造方法
- JAVA编程基础(二)
- 一些关于Java常用关键字的理解
- java写的爬虫
- java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to
- Java 动态代理机制分析及扩展,第 1 部分
- Eclipse 中使用Genymotion 作为模拟器的步骤
- javaEE 使用过滤器压缩响应内容
- Java基础知识强化64:基本类型包装类的引入
- Spring AOP在函数接口调用性能分析及其日志处理方面的应用