`
hpgary
  • 浏览: 78685 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Spring boot 打造统一配置思路

    博客分类:
  • Java
 
阅读更多

 何为统一配置多个应用在一个地方配置,优点,更改数据库地址需要修改多个配置文件,到处重启,相当麻烦,用此方法可以让多个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中获取该配置,加载对应的配置文件到项目中去,希望有人能够实现。 

 

 

 

0
0
分享到:
评论

相关推荐

    Spring Boot中配置文件介绍及其使用教程

    Spring Boot中配置文件介绍及其使用教程所用到的Controller代码 Spring Boot中配置文件介绍及其使用教程所用到的Controller代码 Spring Boot中配置文件介绍及其使用教程所用到的Controller代码 Spring Boot中配置...

    Spring boot 示例 官方 Demo

    spring-boot-mybaits-xml:xml配置版本 spring-boot-mybatis-mulidatasource:springboot+mybatis多数据源最简解决方案 spring-boot-mybatis-annotation-mulidatasource:springboot+mybatis(注解版)多数据源最简...

    Spring cloud和Spring boot介绍

    多数Spring Boot应用只需要很少的Spring配置。Spring Boot的设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot的...

    Spring Boot 2 Recipes

    获取Spring Boot 2微框架的可重用代码配方和代码段 了解Spring Boot 2如何与其他Spring API,工具和框架集成 访问Spring MVC和新的Spring Web Sockets,以实现更简单的Web开发 使用微服务进行Web服务开发并与Spring ...

    Spring Boot 2.X 实战教程.pdf

    本课程内容包括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 Beginning Spring Boot 2

    Spring Boot Examples

    spring-boot-mybaits-xml:xml配置版本 spring-boot-mybatis-mulidatasource:springboot+mybatis多数据源最简解决方案 spring-boot-mybatis-annotation-mulidatasource:springboot+mybatis(注解版)多数据源最...

    基于 Spring Boot + MySQL 开发的博客系统源码.zip

    基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring ...

    Spring Boot多模块配置文件读取

    我们使用Spring Boot编写多个模块开发时,我们希望各个模块使用各自的配置文件,避免将整个项目的配置文件都写在一起,从而降低各个模块之间的耦合度。

    基于spring boot餐厅管理系统源码.zip

    基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 基于spring boot餐厅管理系统源码 ...

    十分钟上手spring boot

    快速上手spring boot项目及配置

    spring boot aop 统一处理日志

    spring boot aop 统一处理日志 demo spring boot aop 统一处理日志 demo

    Spring Boot视频教程大合集,完美帮助你学习Spring Boot,百度网盘

    Spring Boot视频教程大合集,完美帮助你学习Spring Boot,内部有3套Spring Boot学习视频教程,另附一篇Security Oauth2.0认证授权视频教程

    从零开始学Spring Boot

    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 视频 两套

    Spring Boot 视频 两套 包括基础一套视频和进阶一套视频

    Pro Spring Boot(Apress,2016)

    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 Boot整合Spring Batch,实现批处理

    Spring Boot整合Spring Batch的一个小例子,在网上发现这方面的资源比较少,特此将其上传供大家学习。

    spring boot配置文件参数详解

    spring boot配置文件参数详解,spring boot配置文件参数详解,spring boot配置文件参数详解,spring boot配置文件参数详解,

Global site tag (gtag.js) - Google Analytics