Java教程

SpringBoot配置文件拆分设计思路

本文主要是介绍SpringBoot配置文件拆分设计思路,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

需求背景

工作中经常遇到多模块系统,有时在多模块中,多个web项目依赖同一个公共服务模块。

back-end-web-application 模块都依赖 common-service

  • common-service 中主要中包含数据库服务,主要整合了 MyBatis-Plus,并包含数据库CRUD业务;
  • back-end-web-application 则是主要处理网络页面和存放html网页;

此时,我比较倾向于把数据库配置都放在 common-service 模块里。

解决方案

我们只需要在common-service中编写配置文件以application-*.yml的形式命名

然后,back-end-web-application 模块的 application.yml 中配置:

spring:
  profiles:
    include: datasource, dev

:千万不要自己定义common-service中配置文件的名字,只能以application-开头才会被springboot扫描到,如果想自定义名,则需要自己实现扫描。

其他说明

如果在多个模块中都有 application.yml文件,则会只读取有主启动类中的yml文件,不会读取其他模块中的配置文件。

例如:在A模块中有一个application.yml文件,在B模块中有一个application.yml,如果启动A模块中的主启动类,则只会加载A模块中的application.yml文件,并不会加载B模块中的application.yml文件。

Demo地址

https://gitee.com/kendoziyu/spring-boot-yaml-merge

参考文档

  1. Spring Boot项目加载依赖多模块解析yml文件
这篇关于SpringBoot配置文件拆分设计思路的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!