何为统一配置多个应用在一个地方配置,优点,更改数据库地址需要修改多个配置文件,到处重启,相当麻烦,用此方法可以让多个spring boot 通用配置在一个yaml文件里面,废话不多说了,下面开始动手实验吧。
1、实现EnvironmentPostProcessor接口和Ordered,Ordered接口是指定启动级别,EnvironmentPostProcessor接口是指定启动时候做一些事情,该类如下:
package com.hks.config; import java.io.IOException; import org.slf4j.Logger; import org.springframework.boot.SpringApplication; import org.springframework.boot.env.EnvironmentPostProcessor; import org.springframework.boot.env.YamlPropertySourceLoader; import org.springframework.core.Ordered; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.PropertySource; import org.springframework.core.io.ClassPathResource; public class LoadPropertiesConfig implements EnvironmentPostProcessor, Ordered { protected static Logger logger = org.slf4j.LoggerFactory.getLogger("LoadPropertiesConfig") ; @Override public int getOrder() { return ConfigFileApplicationListener.DEFAULT_ORDER + 1 ; } @Override public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) { try { YamlPropertySourceLoader loader = new YamlPropertySourceLoader(); PropertySource<?> load = loader.load("mainyaml",new ClassPathResource("application.yml") , null); environment.getPropertySources().addLast( load ); } catch (IOException e) { e.printStackTrace(); } } }
2、maven工程,创建文件 src/main/resources/META-INF/spring.factories,切忌一定定要是这个路径,其他不行,文件内容如下:
org.springframework.boot.env.EnvironmentPostProcessor=com.hks.config.LoadPropertiesConfig
这样就大功告成了,可以写一个启动类查看是否启动成功
package com.hks.epc; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication( scanBasePackages = "com.hks") public class App { public static void main(String[] args) { SpringApplication.run(App.class, args) ; } }
按照这个方法,可以在每个项目的application.yaml文件中配置 需要加载的配置文件,在LoadPropertiesConfig中获取该配置,加载对应的配置文件到项目中去,希望有人能够实现。
相关推荐
Spring Boot中配置文件介绍及其使用教程所用到的Controller代码 Spring Boot中配置文件介绍及其使用教程所用到的Controller代码 Spring Boot中配置文件介绍及其使用教程所用到的Controller代码 Spring Boot中配置...
spring-boot-mybaits-xml:xml配置版本 spring-boot-mybatis-mulidatasource:springboot+mybatis多数据源最简解决方案 spring-boot-mybatis-annotation-mulidatasource:springboot+mybatis(注解版)多数据源最简...
多数Spring Boot应用只需要很少的Spring配置。Spring Boot的设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot的...
获取Spring Boot 2微框架的可重用代码配方和代码段 了解Spring Boot 2如何与其他Spring API,工具和框架集成 访问Spring MVC和新的Spring Web Sockets,以实现更简单的Web开发 使用微服务进行Web服务开发并与Spring ...
本课程内容包括Spring简介、Spring Boot简介、安装JDK、安装Maven、第一...配置、Redis缓存实例、Redis消息、测试Spring Boot应用程序(Demo应用测试、城市模块测试)、Spring Boot Actuator(启用生产功能、终点)、...
Beginning Spring Boot 2 Beginning Spring Boot 2 Beginning Spring Boot 2
spring-boot-mybaits-xml:xml配置版本 spring-boot-mybatis-mulidatasource:springboot+mybatis多数据源最简解决方案 spring-boot-mybatis-annotation-mulidatasource:springboot+mybatis(注解版)多数据源最...
基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring ...
我们使用Spring Boot编写多个模块开发时,我们希望各个模块使用各自的配置文件,避免将整个项目的配置文件都写在一起,从而降低各个模块之间的耦合度。
基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 ...
快速上手spring boot项目及配置
spring boot aop 统一处理日志 demo spring boot aop 统一处理日志 demo
Spring Boot视频教程大合集,完美帮助你学习Spring Boot,内部有3套Spring Boot学习视频教程,另附一篇Security Oauth2.0认证授权视频教程
1.13 Spring Boot配置ContextPath 1.14 Spring Boot改变JDK编译版本 1.15 处理静态资源(默认资源映射) 1.16 处理静态资源(自定义资源映射) 1.17 Spring Boot定时任务的使用 1.18 Spring Boot使用Druid和监控配置 ...
Spring Boot 视频 两套 包括基础一套视频和进阶一套视频
Pro Spring Boot is your authoritative hands-on practical guide for increasing your Spring Framework-based enterprise Java and cloud application productivity while decreasing development time using the...
Spring Boot实战派(源码)
Spring Boot整合Spring Batch的一个小例子,在网上发现这方面的资源比较少,特此将其上传供大家学习。
spring boot配置文件参数详解,spring boot配置文件参数详解,spring boot配置文件参数详解,spring boot配置文件参数详解,