Spring boot加载外部配置文件-EnvironmentPostProcessor
Posted 咩咩文
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring boot加载外部配置文件-EnvironmentPostProcessor相关的知识,希望对你有一定的参考价值。
package com.spring4all.config;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.PropertiesPropertySource;
import org.springframework.stereotype.Component;
/**
* 使用EnvironmentPostProcessor加载外部配置资源
* 1.实现EnvironmentPostProcessor接口,重写postProcessEnvironment方法
* 2.在META-INF下创建spring.factories
* @author Bowin
*
*/
@Component
public class MyEnvironmentPostProcessor implements EnvironmentPostProcessor
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application)
try(InputStream input = new FileInputStream("E:\\\\ds.properties"))
Properties properties = new Properties();
properties.load(input);
PropertiesPropertySource propertySource = new PropertiesPropertySource("ve", properties);
environment.getPropertySources().addLast(propertySource);
System.out.println("====加载外部配置文件完毕====");
catch (Exception e)
e.printStackTrace();
org.springframework.boot.env.EnvironmentPostProcessor=com.spring4all.config.MyEnvironmentPostProcessor
外部配置文件:ds.properties
ds.url=111
ds.name=root
ds.password=123456
ds.driver=oracle
测试
package com.spring4all;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;
/**
* 启动测试
* @author Bowin
*
*/
@SpringBootApplication
public class Application
public static void main(String[] args)
ConfigurableApplicationContext run = SpringApplication.run(Application.class, args);
String property = run.getEnvironment().getProperty("ds.password");
System.out.println(property);
以上是关于Spring boot加载外部配置文件-EnvironmentPostProcessor的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 类路径配置文件覆盖外部 application.properties