maven中的profile概念,在spring-boot中一样适合,只要约定以下几个规则即可: 

一、不同环境的配置文件以"application-环境名.yml"命名

举个粟子:

spring-boot 速成(5) profile区分环境

如果有二个环境dev、prod,项目工程中有上述二个文件即可。

 

二、主配置文件application.yml中,显式**某个环境

spring-boot 速成(5) profile区分环境

这样默认就**了dev环境

 

三、与环境相关的差异配置部分,放在各自的配置文件中

举第二个粟子

spring-boot 速成(5) profile区分环境

spring-boot 速成(5) profile区分环境

 

四、线上部署/运行时动态环境切换

通常开发阶段默认**的是dev环境,部署到线上时是prod环境,但是打包发布时,可能经常会忘记了改application.yml中的默认**环境,可以参考下面的几种做法:

4.1 参考上一节的做法,部署时在./config下放置一个application.yml来覆盖默认的**环境(这个可以在打包一键部署的shell脚本中自动处理)

4.2 启动shell脚本中,动态指定,例如 java -jar spring-boot-web-demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

4.3 也可以参考gradle项目中profile的通用做法(见之前的文章: gradle项目中profile的实现

推荐用4.2的做法,简单!

相关文章:

  • 2021-08-07
  • 2022-12-23
  • 2021-09-18
  • 2019-08-16
  • 2022-12-23
  • 2022-12-23
  • 2021-12-16
  • 2021-09-22
猜你喜欢
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
  • 2021-06-14
  • 2021-07-31
  • 2021-11-15
相关资源
相似解决方案