PropertyPlaceholderConfigurer读取配置改造SpringBoot集成apollo, 读取不到配置

问题描述: Maven多模块开发, SSM框架改造成SpringBoot框架, 集成apollo时,读取不到apollo的配置.

因为是自己封装了PropertyPlaceholderConfigurer进行配置文件的读取:

/**
 *获取到当前架包中资源文件夹下的Properties配置文件
 */
public class PropertyConfigurer extends PropertyPlaceholderConfigurer {

	private static Map<String,String> ctxPropMap;

	@Override
	protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException {
		super.processProperties(beanFactoryToProcess, props);
		ctxPropMap = new HashMap<String,String>(16);
		for (Object key : props.keySet()){
			String keyStr = key.toString();
			String value = String.valueOf(props.get(keyStr));
			ctxPropMap.put(keyStr,value);
		}
	}

	/**
	 *获取注解
	 *@param name
	 *@return
	 */
	public static String getCtxProp(String name) {
		return ctxPropMap.get(name);
	}
}

所以需要将本地配置和apollo配置整合起来.

参考apollo github wiki - Java客户端使用指南3.2 Spring整合方式: 

https://github.com/ctripcorp/apollo/wiki/Java%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97#3213-spring-boot%E9%9B%86%E6%88%90%E6%96%B9%E5%BC%8F%E6%8E%A8%E8%8D%90

人家官方已经不推荐使用PropertyPlaceholderConfigurer, 推荐用PropertySourcesPlaceholderConfigurer.

难点是, 如何将apollo中的配置读取出来, 和本地配置整合在一起.

但是我知道, apollo的配置会加载到environment中, 于是我便注入environment.

@Autowired
ConfigurableEnvironment environment;

注入的environme

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值