`
hpgary
  • 浏览: 82739 次
  • 性别: 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 的自动配置,到底是怎么做到?.docx

    Spring Boot 自动配置机理详解 1. Spring Boot 概述 Spring Boot 是基于 Spring 框架的自动配置工具,旨在提高开发者的体验和效率。它的主要功能是自动配置 Spring 框架,降低项目搭建的复杂度。Spring Boot 并不...

    spring boot资料以及项目

    Spring Boot是Java开发领域中的一款热门框架,它简化了基于Spring的应用程序的初始设置和配置。这个压缩包包含了丰富的Spring Boot学习资料以及实际项目案例,是深入理解和掌握Spring Boot技术的宝贵资源。 首先,...

    spring-boot-2.7.0.zip源码

    10. **错误处理**:Spring Boot提供了一套统一的错误页面和错误处理机制,如`ErrorController`和`ErrorAttributes`,使得错误信息的展示更加友好。 通过深入阅读和分析Spring Boot 2.7.0的源码,我们可以了解到...

    2023最新《Spring Boot基础教程》

    Spring Boot 2.x基础教程:2.4版本前后的多环境配置变化 Spring Boot 2.x基础教程:2.4版本前后的分组配置变化 Spring Boot 2.x基础教程:配置元数据的应用 Spring Boot 2.x基础教程:加密配置中的敏感信息 API开发 ...

    Spring Boot讲义.pdf

    Spring Boot通过`@EnableAutoConfiguration`注解来启用自动配置功能,它利用类路径中的jar包依赖,根据添加的jar依赖猜测如何配置Spring。根据项目的类路径上的jar依赖,Spring Boot会自动配置应用程序。 #### 2.5....

    LEARNING SPRING BOOT 3.0 - THIRD EDITION

    Spring Boot作为Spring生态系统中的核心组件,通过自动化配置、起步依赖和内嵌式Web服务器等功能,极大地简化了Java应用的开发。 Spring Boot从诞生之初,就以其“约定优于配置”的理念,打破了传统Java企业级应用...

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

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

    learning spring boot 2.0

    Spring Boot则是建立在Spring框架之上的,用于简化Spring应用的配置和部署。 内容摘录中提到了关于本书的版权声明,表明该书的版权归Packt Publishing所有,并且明确指出未经许可不得复制、存储或传输。这也体现了...

    Spring Boot多模块配置文件读取

    - 当项目规模进一步扩大时,可以考虑使用Spring Cloud Config Server集中管理所有模块的配置,实现配置的远程加载和统一管理。 总之,Spring Boot的多模块配置文件读取策略旨在提高项目的可扩展性和可维护性。通过...

    31. Spring Boot导入XML配置【从零开始学Spring Boot】

    在本篇【从零开始学Spring Boot】系列教程中,我们将深入探讨如何在Spring Boot项目中导入并使用XML配置。Spring Boot以其简化Spring应用的初始搭建以及开发过程而闻名,通常推崇的是Java配置而非XML配置。然而,在...

    Spring Boot整合Spring Batch,实现批处理

    Spring Boot以其简洁的配置和快速的启动能力深受开发者喜爱,而Spring Batch作为Spring框架的一部分,专注于批量处理任务,提供了强大的数据处理能力和事务管理功能。下面我们将深入探讨这个主题。 首先,**Spring ...

    Spring Boot 2.X 实战教程.pdf

    本课程内容包括Spring简介、Spring Boot简介、安装JDK、安装Maven、第一...配置、Redis缓存实例、Redis消息、测试Spring Boot应用程序(Demo应用测试、城市模块测试)、Spring Boot Actuator(启用生产功能、终点)、...

    十分钟上手spring boot

    #### 快速上手Spring Boot项目及配置 ##### Spring Boot简介 Spring Boot 是一款基于 Spring 架构的全新框架,它极大地简化了基于 Spring 的应用开发。Spring Boot 旨在提供快速应用开发所需的“一站式”解决方案...

    Spring-Boot-Reference-Guide, Spring Boot Reference Guide中文翻译 -《Spring Boot参考指南》.zip

    5. 配置文件:通过application.properties或application.yml进行统一配置,支持命令行参数、环境变量和属性源链。 6. 日志:内置Logback和Log4j2支持,便于日志管理和调试。 二、Spring Boot配置 1. 属性注入:使用...

    Spring boot连接oracle数据库JDBC配置步骤

    Spring Boot 连接 Oracle 数据库 JDBC 配置步骤 在本文中,我们将详细介绍如何使用 Spring Boot 连接 Oracle 数据库,配置 JDBC 驱动程序,并实现数据库的基本操作。 Step 1: 添加依赖项 在 Spring Boot 项目中,...

    Spring Boot实战派(源码)

    Spring Boot简化了Spring应用程序的初始设置和配置,使得开发人员能够快速构建可运行的应用程序。以下是基于源码的详细知识点讲解: 1. **Spring Boot核心概念** - `@SpringBootApplication` 注解:它是`@...

    Spring boot 示例 官方 Demo

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

    最新Spring Boot Admin 官方参考指南-中文版-2.x

    而`spring-boot-admin-sample-servlet`项目则展示了如何在添加安全验证的情况下配置Spring Boot Admin Server。 接下来,你需要注册你的客户端应用程序到Spring Boot Admin Server。这可以通过引入`spring-boot-...

    Spring Boot揭秘 PDF

    Spring Boot作为一款快速开发框架,简化了Java应用程序的初始设置和配置,使得开发者可以更专注于业务逻辑的实现,而无需过多关注基础设施层面的细节。 Spring Boot的核心特性包括: 1. 自动配置:Spring Boot通过...

    Spring Boot面试题(92题)

    Spring Boot 是一种基于 Java 的框架,旨在简化Spring框架的初始设置和常规配置。Spring Boot的出现是为了应对Spring项目日益复杂的构建和配置问题。在传统的Spring项目中,开发者需要手动添加构建路径、Maven依赖...

Global site tag (gtag.js) - Google Analytics