Spring boot加载外部配置文件-EnvironmentPostProcessor
2018-01-09 11:51
856 查看
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); } }
相关文章推荐
- 005-Spring Boot配置分析-配置文件、EnvironmentPostProcessor、Profiles
- spring boot启动时加载外部配置文件的方法
- Spring Boot # EnvironmentPostProcessor
- Spring Boot 系列(2) 配置文件的加载
- Springboot引用外部配置文件
- SpringBoot 打包为war包启动时导入外部配置文件
- spring boot 使用外部配置文件
- springBoot配置文件加载原理探究
- springboot 修改启动时默认加载application.properties文件以及加载指定配置文件
- spring (三) 加载外部资源文件/配置jdbc数据源
- spring-boot 加载本地静态资源文件路径配置
- SpringBoot的配置文件加载顺序和使用方式
- 动态管理配置文件扩展接口EnvironmentPostProcessor
- spring boot加载第三方jar包的配置文件
- Spring配置文件加载外部配置文件
- spring-boot 加载本地静态资源文件路径配置
- spring boot 加载本地静态资源文件路径配置
- Spring Boot配置文件放在jar外部
- [Spring boot]配置文件properties加载
- spring-boot 加载本地静态资源文件路径配置