Spring boot 打造统一配置思路 博客分类: Java
程序员文章站
2024-03-19 10:25:34
...
何为统一配置多个应用在一个地方配置,优点,更改数据库地址需要修改多个配置文件,到处重启,相当麻烦,用此方法可以让多个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中获取该配置,加载对应的配置文件到项目中去,希望有人能够实现。
下一篇: 编程错误总结 博客分类: c++
推荐阅读
-
Spring boot 打造统一配置思路 博客分类: Java
-
spring boot 枚举转换 博客分类: Java
-
spring boot 枚举转换 博客分类: Java
-
Spring boot传统部署 博客分类: Java spring boottomcatdeploy
-
Spring读取properties属性文件配置项遇到的问题 博客分类: Java-Spring spring
-
遗留系统hibernate升级到spring+hibernate的问题 博客分类: java apps HibernateSpring配置
-
Spring(18)——使用Java类的形式配置bean 博客分类: Spring SpringJava@Configuration配置@Bean
-
Spring Boot: 可配置的primary datasource 博客分类: spring spring
-
spring cloud eureka 参数配置 博客分类: spring boot 实践笔记 eureka 参数
-
spring cloud eureka 参数配置 博客分类: spring boot 实践笔记 eureka 参数