springBoot 项目在项目启动时修改dev或prod文件(在远程拉取的值)

在启动类中加
public static void main(String[] args) throws UnknownHostException {
SpringApplication app = new SpringApplication(CtginmsPortalApplication.class);

app.addInitializers(new ZkApplicationContextInitializer());//这点

    System.out.println(env.getProperty("spring.datasource.url"));//打印看看

}
重新创建的类
public class ZkApplicationContextInitializer implements ApplicationContextInitializer {

@Override
public void initialize(ConfigurableApplicationContext applicationContext) {

ConfigurableEnvironment ce = applicationContext.getEnvironment();
Properties properties = new Properties();
properties.setProperty("spring.datasource.url", "url000");//前面时dev或prod的key,后面时远程拉取下来的值
properties.setProperty("spring.datasource.driver-class-name", "name111");

PropertiesPropertySource propertiesPropertySource = new PropertiesPropertySource("remote", properties);
ce.getPropertySources().addFirst(propertiesPropertySource);
}
}

posted on 2020-05-13 15:19  博客海沐沐  阅读(1592)  评论(0)    收藏  举报

导航