使用spring工厂读取property配置文件示例代码
时间:2019-04-12
本文章向大家介绍使用spring工厂读取property配置文件示例代码,主要包括使用spring工厂读取property配置文件示例代码使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文将介绍两种Spring读取property配置文件的方法,接下来看看具体内容。
一、通过Spring工厂读取
示例:
public class PropertyConfig { private static AbstractBeanFactory beanFactory = null; private static final Map<String,String> cache = new oncurrentHashMap<>(); @Inject public PropertyConfig(AbstractBeanFactory beanFactory) { this.beanFactory = beanFactory; } /** * 根据key获取配置文件的Value * @param key * @return */ public static String getProperty(String key) { String propValue = ""; if(cache.containsKey(key)){ propValue = cache.get(key); } else { try { propValue = beanFactory.resolveEmbeddedValue("${" + key.trim() + "}"); cache.put(key,propValue); } catch (IllegalArgumentException ex) { ex.printStackTrace(); } } return propValue; } }
Spring xml的配置
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/> <property name="ignoreResourceNotFound" value="true"/> <property name="locations"> <list> <value>classpath:props/${property-path}.properties</value> <value>classpath:important.properties</value> </list> </property> </bean>
在项目中使用
String maxTimeInSecondsProp = PropertyConfig.getProperty("maxTimeInSeconds");
二、直接使用spirng程序代码读取项目的配置文件方法
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.core.io.support.PropertiesLoaderUtils; import org.springframework.core.io.FileSystemResource; public class Test { /** * @param args */ public static void main( String[] args ) { String configFile = "D:/test/application.properties"; //如果配置文件在classpath目录下可以使用ClassPathResource对象 //Resource resource = new ClassPathResource("/application.properties"); Resource resource = new FileSystemResource( configFile ); try { Properties property = PropertiesLoaderUtils.loadProperties(resource); String driver = property.getProperty("jdbc.driver"); String url = property.getProperty("jdbc.url"); String userName = property.getProperty("jdbc.username"); String password = property.getProperty("jdbc.password"); } catch (IOException e1) { //log.error("read config file failed", e1); } } }
如果配置文件在classpath目录下可以使用ClassPathResource对象
Resource resource = new ClassPathResource("/application.properties");
总结
以上就是本文关于使用spring工厂读取property配置文件示例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- FreeRTOS系列第9篇---FreeRTOS任务概述基础篇
- 图书管理系统(四)图书管理系统实战(2)
- 源码分析之 FactoryBean接口不为人知的秘密
- 图书管理系统(三)图书管理系统实战(1)
- 图书管理系统(二)整合 SSM,你学会了么
- CellChat:细胞间相互作用分析利器
- 我对一类常考算法面试题的详细分析
- Python 面向对象编程(上篇)
- 基于TencentOS-tiny实现PM2.5传感器(攀藤PMSA003)数据解析思路及实现
- Centos7搭建SVN+Apache+iF.SVNAdmin实现web管理SVN
- 安卓最后一个大题复习
- 关于 Spring Ioc,看这一篇就够了!
- 第1次Spring源码学习之@Bean、@Configuration、xml、分析
- Spring 中的依赖注入(DI),你都知道多少?
- Docker配置1台Nginx+3台Tomcat做负载均衡