package com.web.config;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.PriorityOrdered;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.Environment;
import org.springframework.core.env.MutablePropertySources;
import org.springframework.core.env.PropertySource;
/**
* @author
* @date 2020/8/10 16:45
* @Description jar包所在目录配置文件 覆盖apollo配置
*/
@Configuration
public class PropertyProcessor implements BeanFactoryPostProcessor, EnvironmentAware, PriorityOrdered {
private ConfigurableEnvironment environment;
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
MutablePropertySources propertySources = environment.getPropertySources();
PropertySource<?> propertySource = propertySources.get("applicationConfig: [file:./application.yml]");
if (null != propertySource) {
propertySources.addFirst(propertySource);
}
PropertySource<?> source = propertySources.get("applicationConfig: [file:./application.properties]");
if (null != source) {
propertySources.addFirst(source);
}
}
@Override
public void setEnvironment(Environment environment) {
this.environment = (ConfigurableEnvironment) environment;
}
@Override
public int getOrder() {
return Ordered.LOWEST_PRECEDENCE;
}
}
springboot jar包所在目录外部配置文件 覆盖apollo配置
猜你喜欢
转载自blog.csdn.net/m0_37859032/article/details/107955801
今日推荐
周排行