「Spring Boot 系列」05. Spring Boot Profiles(多环境配置)

简介: 「Spring Boot 系列」05. Spring Boot Profiles(多环境配置)

Spring Boot Profiles

Profile的是配置文件的意思,我们在开发Spring Boot应用时,通常同一个项目会被安装到不同的环境,而不同的环境又需要不同的配置。比如:


开发环境,应用需要连接一个可供调试的数据库单机进程

生产环境,应用需要使用正式发布的数据库,通常是高可用的集群

测试环境,应用只需要使用内存式的模拟数据库

其中数据库地址、服务器端口等等配置都不同,如果每次打包时,都要修改配置文件,那么就会非常麻烦。


Spring框架提供了profile的管理功能,我们可以使用profile功能来区分不同环境的配置。然后可以通过激活、指定参数等方式快速动态的切换环境。


profile配置方式

1) 多文件方式

新建多个配置文件,命名格式:application-环境名.yml

image.png


application-dev.yml 开发环境

server:
  port: 8081
# 给配置文件起名字,方便主配置文件引用
spring:
  config:
    activate:
      on-profile: dev

application-pro.yml生产环境

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

application-test.yml测试环境

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

2) yml多文档方式

该方式只需要一个application.yml配置文件即可,在配置文件中使用 — (三个横杠)来分隔不同的环境配置

---
server:
  port: 8081
spring:
  profiles: dev
---
server:
  port: 8082
spring:
  profiles: pro
---
server:
  port: 8083
spring:
  profiles: test
---

profile激活方式

1) 配置文件

在yml配置文件中配置:

spring:
  profiles:
    active: test

2) 虚拟机参数

在VM options指定:-Dspring.profiles.active -dev

image.png

紧接着启动该项目,你会在控制台看到此时的环境就是你刚才设置的开发环境,覆盖了我们在配置文件中的激活配置

image.png


3) 命令行参数

第一种:--spring.profiles.active=pro

image.png

第二种:java -jar xxx.jar --spring.profiles.active =test

使用maven打包项目,打开该jar包所在目录,接着启动该项目,不会可以参考这个>>>Spring Boot的启动方式

image.png

相关文章
|
1天前
|
负载均衡 监控 Java
深入理解Spring Boot与Spring Cloud的整合方式
深入理解Spring Boot与Spring Cloud的整合方式
|
1天前
|
安全 Java Apache
如何安装与使用Spring Boot 2.2.x、Spring Framework 5.2.x与Apache Shiro 1.7进行高效开发
在现代Java Web开发领域,Spring Boot以其简化配置、快速开发的特点备受青睐。结合Spring Framework的成熟与Apache Shiro的强大权限控制能力,我们可以轻松构建安全且高效的Web应用。本篇文章将指导你如何安装并使用Spring Boot 2.2.x、Spring Framework 5.2.x以及Apache Shiro 1.7来构建一个具备基础权限管理功能的项目。
31 0
|
4天前
|
监控 Java 数据库
Spring Boot与Spring Batch的深度集成
Spring Boot与Spring Batch的深度集成
|
4天前
|
IDE Java 数据库连接
如何使用Spring Boot Profiles进行环境配置管理
如何使用Spring Boot Profiles进行环境配置管理
|
4天前
|
安全 Java 数据安全/隐私保护
使用Spring Boot和Spring Security保护你的应用
使用Spring Boot和Spring Security保护你的应用
|
4天前
|
SQL Java 数据库
使用Spring Boot和Spring Data JPA进行数据库操作
使用Spring Boot和Spring Data JPA进行数据库操作
|
4天前
|
XML Java 数据格式
SpringBoot Profiles特性
SpringBoot Profiles特性
|
5天前
|
NoSQL 前端开发 Java
技术笔记:springboot分布式锁组件spring
技术笔记:springboot分布式锁组件spring
11 1
|
5天前
|
Java Linux 程序员
技术笔记:Spring生态研习【五】:Springboot中bean的条件注入
技术笔记:Spring生态研习【五】:Springboot中bean的条件注入
|
5天前
|
Java 测试技术 应用服务中间件
Spring 与 Spring Boot:深入解析
Spring 与 Spring Boot:深入解析
9 0