SpringBoot不同环境加载不同配置文件

  Spring不同环境加载不同配置文件 - resource & profile
  我们在使用spring的时候,一般都会有不同的环境需要部署:开发环境、测试环境和生产环境,而不同的环境则会有不同的配置,比如数据库ip。解决这个问题,我所熟悉的有两种策略:
 
  springboot的profile参数配置
  pom文件的resource & profile配置
  springboot的profile配置
  Spring Profiles 允许用户根据环境配置来读取不同的配置文件(dev,test,online 等),可以通过激活、指定参数等方式快速切换环境。
 
  profile多配置文件
  在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:
 
  application.yml:主配置文件
  application-dev.yml:开发环境
  application-test.yml:测试环境
  application-online.yml:生产环境
  至于哪个具体的配置文件会被加载,需要在application.yml文件中通过spring.profiles.active属性来设置,其值对应{profile}值。 

  方式一:在一个文件中配置

# 激活配置
spring:
  profiles:
    active: dev
---
# 配置一 开发环境
spring:
  profiles: dev
server:
  port: 8060
---
# 配置二 生产环境
spring:
  profiles: pro
server:
  port: 8061

  方式二:多配置文件方式

  上面的配置文件都写在一个application.yml中,过于累赘,为了方便查阅和解耦合,推荐多个配置文件方式,然后在主配置文件中激活,具体的步骤如下;
  新建yml文件名为application-dev.yml;内容如下

server:
  port: 8061
  新建yml文件名为application-test.yml;内容如下

server:
  port: 8060
  修改application.yml内容如下

spring:
  # 配置文档激活
  profiles:
    # 激活文档
    active: dev
  当运行应用程序时,Spring Boot会自动加载application.yml和application-dev.yml文件。application-dev.yml中的配置将覆盖application.yml中相同部分的配置。
  请注意,您不需要为每个环境都创建一个配置文件。您可以根据需要为特定的环境创建额外的配置文件。如果您不需要为某个环境添加额外的配置,那么您只需在application.yml中配置即可。
 
 
 
点赞

当前页面评论已关闭。

隐藏
变装