Spring Boot多环境开发-Profiles

程序在开发完毕以后,会有很多种运行场景,比如开发,测试,生产环境当中。此时需要每

次都修改环境配置,诸如数据库配置信息一类。会较为麻烦,此时需要使用Profiles来解决问题。

SpringBoot提供的Profiles可以用来隔离应用程序配置的各个部分,并在特定环境下指定部

分配置生效。

1.使用" - - -"来分隔不同环境的配置;

2.指定哪些配置属于哪个环境;

java 复制代码
spring:
  config:
    activate:
      on-profile: 环境名称

3.指定哪个环境的配置生效;'

java 复制代码
spring:
  profiles:
    active: 环境名称

使用pom文件进行简单的测试:

java 复制代码
#通用信息,指定生效环境
#多环境下共性的属性

spring:
  profiles:
    active: pro
server:
  servlet:
    context-path: /ccc
---

#开发环境

spring:
  config:
    activate:
      on-profile: dev
server:
  port: 8081
---

#测试环境

spring:
  config:
    activate:
      on-profile: test
server:
  port: 8082
---

#生产环境

spring:
  config:
    activate:
      on-profile: pro
server:
  port: 8083

当最上方指定为:dev时:

java 复制代码
spring:
  profiles:
    active: dev

运行结果为8081端口,与配置中有关dev的配置属性一致。

其余配置类似。

如果最上方的通用配置信息与下方特定环境中的属性冲突,则通用配置属性优先级别高。

但是这种配置信息一旦涉及太多,维护将变得比较复杂,所以需要使用多文件的方式进行分别管理

多环境开发配置信息。

**************************************************************分隔符*********************************************************************************

在resources目录下新建配置多个配置文件:

application.yml:

java 复制代码
spring:
  profiles:
    active: test

application-dev.yml:

java 复制代码
#开发环境

spring:
  config:
    activate:
      on-profile: dev
server:
  port: 8081

application-test.yml:

java 复制代码
#测试环境

spring:
  config:
    activate:
      on-profile: test
server:
  port: 8082

application-pro.yml:

java 复制代码
#生产环境

spring:
  config:
    activate:
      on-profile: pro
server:
  port: 8083

将配置文件以文件的形式分开提高管理和后期修改效率,测试运行也无误。

相关推荐
爬山算法2 分钟前
Hibernate(88)如何在负载测试中使用Hibernate?
java·后端·hibernate
自不量力的A同学6 分钟前
Solon AI v3.9 正式发布:全能 Skill 爆发
java·网络·人工智能
万岳科技系统开发17 分钟前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
独断万古他化21 分钟前
【Spring 原理】Bean 的作用域与生命周期
java·后端·spring
*小海豚*26 分钟前
在linux服务器上DNS正常,但是java应用调用第三方解析域名报错
java·linux·服务器
我爱加班、、31 分钟前
Websocket能携带token过去后端吗
前端·后端·websocket
撩得Android一次心动42 分钟前
Android LiveData 全面解析:使用Java构建响应式UI【源码篇】
android·java·android jetpack·livedata
组合缺一1 小时前
Solon AI (Java) v3.9 正式发布:全能 Skill 爆发,Agent 协作更专业!仍然支持 java8!
java·人工智能·ai·llm·agent·solon·mcp
MSTcheng.1 小时前
【C++】C++11新特性(二)
java·开发语言·c++·c++11
一 乐1 小时前
校园二手交易|基于springboot + vue校园二手交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端