Spring框架利用PropertyPlaceholderConfigurer初始化加载多properties文件
一:首先创建一个属性文件xxx.properties
二:然后自定义一个属性加载类工具类,必须要extends PropertyPlaceholderConfigurer类,(实际是对PropertyPlaceholderConfigurer类的一个扩展)
public class CustomizedPropertyConfigurer extends PropertyPlaceholderConfigurer {
private static Map<String, Object> ctxPropertiesMap;
@Override
protected void processProperties(
ConfigurableListableBeanFactory beanFactoryToProcess,
Properties props) throws BeansException {
super.processProperties(beanFactoryToProcess, props);
ctxPropertiesMap = new HashMap<String, Object>();
for (Object key : props.keySet()) {
String keyStr = key.toString();
String value = props.getProperty(keyStr);
ctxPropertiesMap.put(keyStr, value);
}
}
public static Object getContextProperty(String name) {
return ctxPropertiesMap.get(name);
}
public static Object setContextProperty(String name, Object value) {
return ctxPropertiesMap.put(name, value);
}
}
三:然后再spring文件中配置如下
<bean id="propertyConfigurer"
class="com.ljzforum.platform.util.CustomizedPropertyConfigurer">
<property name="locations">
<list>
<value>classpath:context/xxx.properties</value>
</list>
</property>
</bean>
四:最后就是怎么使用了,代码如下
String appId = (String) CustomizedPropertyConfigurer.getContextProperty("app_id");
String app_secret =(String) CustomizedPropertyConfigurer.getContextProperty("app_secret")
Spring框架利用PropertyPlaceholderConfigurer初始化加载多properties文件相关推荐
- springboot 加载一个properties文件转换为对象、List和Map数据结构
springboot 加载一个properties文件转换为对象.List和Map数据结构 一.springboot 加载一个properties文件转换为对象 1.1.配置文件-blog.prope ...
- 利用firebug动态加载online js文件
为什么80%的码农都做不了架构师?>>> 我们在对网页进行调试时,可以利用firebug的命令行,对网页进行脚本的调试.对于原生js当然没有问题,可是,有时候我们想要使用js类 ...
- Spring框架——加载属性(properties)文件
使用属性文件的好处 有效的减少硬编码(将配置信息直接写入Java代码中) 当应用程序的运行环境发生改变时,只需要修改属性文件,而不需要改变源码.提高了运维人员操作的便利性 加载属性文件的方式 使用注解 ...
- 加密Spring加载的Properties文件
目标:要加密spring的jdbc配置文件的密码口令. 实现思路:重写加载器的方法,做到偷梁换柱,在真正使用配置之前完成解密. 1.扩展 package com.lavasoft.freamwork. ...
- 解决Idea中maven项目druid连接池加载druid.properties文件时报 inStream parameter is null异常(原因有待考证)
我认为应该是没有把druid.properties文件加载到输入流中. 原代码是 InputStream is = JDBCUtils.class.getClassLoader().getResour ...
- Spring初始化加载流程分析
关于Spring框架的介绍,网上有很多非常好的详细的文章,如果在本篇博客中没有了解到自己想要的东西,个人能力有限,只能使用博客记录一下自己目前了解的知识点了! 本篇博客将大致介绍一下Spring框架的 ...
- Spring Cloud Gateway系列【4】初始化加载流程源码解析
文章目录 核心源码 Route类 AsyncPredicate接口 ServerWebExchange 接口 GatewayFilter RouteLocator RouteDefinitionLoc ...
- tomcat + spring mvc原理(二):tomcat容器初始化加载和启动
tomcat + spring mvc原理(二):tomcat容器动态加载 容器通用生命周期标准 容器通用生命周期的实现 生命周期状态监听器的管理实现 生命周期方法实现 宏观来看各种容器生命周期的实际 ...
- 006-spring cloud gateway-GatewayAutoConfiguration核心配置-GatewayProperties初始化加载、Route初始化加载...
一.GatewayProperties 1.1.在GatewayAutoConfiguration中加载 在Spring-Cloud-Gateway初始化时,同时GatewayAutoConfigur ...
- Android利用Volley异步加载(JSON和图片)完整示例
android的json解析部分都在包org.json下,主要有以下几个类: JSONObject:可以看作是一个json对象,这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value) ...
最新文章
- ISA2006标准版安装及无人值守安装
- find查找文件的时候排除某个或几个文件或目录
- 关于asp.net中链接数据库的问题
- 生产上oracle扩展表空间,oracle基于裸设备(raw device)扩充表空间
- 大年初一,磊哥给大家发大红包啦!
- 容器编排技术 -- Kubernetes kubectl create secret docker-registry 命令详解
- 数据结构值图的最小生成树
- (三)使用自动编码器进行深度伪造
- Algorithm:字典序最小问题
- 【安卓笔记】—— 页面导航 Navigation(3)
- python 生成器 迭代器 区别_Python生成器和迭代器的区别
- [渝粤教育] 西南科技大学 机械设计基础 在线考试复习资料(1)
- 数值积分方法的c语言实现,编程实现数值积分的几种--方法 c语言.doc
- yum安装mysql和mysql源,配置mysql
- python-expected an indented block问题解决
- roundcube邮箱手机端_企业邮箱申请后如何登录
- 自己做量化交易软件(40)小白量化实战13--Alpha101及自编因子公式
- [相机原理]单反与手机是如何实现对焦的?——反差对焦的原理
- 用onetab插件管理chrome的tab页,解决.crx安装时显示invalid的问题
- MATLAB SIMULINK电力电子仿真
热门文章
- window下安装mysql
- 1.1 项目过程中遇到date类型插入数据库的问题及解决方法
- [HDU1754]I Hate It线段树裸题
- 在Ubuntu下搭建Spark群集
- iOS安全攻防(七)使用iOSOpenDev开发SpringBoard的Tweat
- 国外的程序员都是什么样的状态?硅谷程序员:不加班,不穿女装
- R语言实现46种距离算法
- [翻译]WPF控件库 MaterialDesignInXamlToolkit (2) Brush Names
- Selenium 显示等待和隐式等待
- Broadcast receiver之我见