SpringBoot多环境设置
写在前面在实际项目标开发过程中,我们程序往往需要在差异环境中运行。比方:开发环境、测试环境和生产环境。
每个环境中的设置参数大概都会有所差异,比方数据库连接信息、文件服务器等等。
Spring Boot 提供了非常方便的方式来管理这些差异环境的设置。
一、Spring Profile 介绍
Spring Profile 是 Spring 框架用于处置惩罚差异环境设置的办理方案。
Profile 可以帮助我们在不改变应用代码的情况下,根据当前环境动态地激活大概切换差异的设置。
Spring Boot 为每个 Profile 提供了一个独立的 application.properties(或 application.yml)设置文件。
默认情况下,Spring Boot 使用的是 application.properties 文件。
当你激活一个特定的 Profile 时,Spring Boot 会查找名为 application-{profile}.properties 的文件,并把其中的属性加载到 Spring Environment 中。
二、Properties与YAML
Spring Boot支持使用Properties和YAML两种设置方式。
两者功能类似,都能完成Spring Boot的设置,但是Properties的优先级要高于YMAL
2.1 Properties
[*]Spring Boot 默认的设置文件格式
[*]以“.”为分割的key=value键值对,比方,指定端口为8080 设置如下
server.port=8080
[*]不支持复杂的数据结构,只支持字符串类型的键值对。因此,它的使用适用于简单的设置场景
2.2YAML
[*]接纳树状结构,一目了然
server:
port: 8080
[*]在key后的冒号一定要跟一个空格,如“port: 8080”
[*]YAML 格式文件不支持注解@PropertySource导入设置
[*]支持复杂的数据结构,如列表和键值对,因此,YAML 的使用适用于需要表示复杂数据结构的场合
2.3 怎样选择
在 Spring Boot 应用中,你可以根据自己的实际需求,选择使用 YAML 照旧 Properties 格式的设置文件。
如果你的设置比力简单,Properties 格式大概会更好些。
如果你的设置比力复杂,大概你盼望设置文件更具可读性,那么 YAML 格式大概是更好的选择
三、创建设置文件
3.1 创建设置文件
在实际项目开发中,我们一般有三个环境:开发(dev)、测试(test)、生产(prod)。我们需要创建如下几个设置文件
[*]application.yml 大概application.properties用于存放所有环境通用的设置
[*]application-dev.yml大概application-dev.properties 存放开发环境的特殊设置
[*]application-test.yml大概application-test.properties 存放测试环境的特殊设置
[*]application-prod.yml大概application-prod.properties 存放生产环境的特殊设置
https://img2024.cnblogs.com/blog/2381533/202404/2381533-20240401082246336-483203291.png
3.2 设置文件内容
①设置开发环境
application-dev.yml
server:
port: 8080 tomcat:uri-encoding: UTF-8environment: name: 开发环境application-dev.properties
server.port=8080
server.tomcat.uri-encoding=UTF-8
environment.name=开发环境②设置生产环境
application-prod.yml
server:
port: 8090
tomcat:
uri-encoding: UTF-8
environment:
name: 生产环境application-prod.properties
server.port=8090
server.tomcat.uri-encoding=UTF-8
environment.name=生产环境application-test.yml和application-test.properties 设置文件类似,由于篇幅原因,这里就不一一例举了
四、激活 Profile
在上一小节中,我们创建了三个设置文件即设置了三种环境,那么我们怎么才能激活对应环境呢
4.1 设置文件激活
其实很多简单,我们只需要在application.yml 大概application.properties添加如下设置即可,即可激活开发环境
①application.yml
# application.yml
spring
profiles:
active: dev②application.properties
spring.profiles.active=dev4.2 启动参数激活
在命令行中设置 spring.profiles.active 系统属性。
比方,你可以使用以下命令来启动你的应用,并激活 "prod" 环境:
# 企业级项目开发中,针对生产环境,一般通过启动命令再指定激活生产 环境
java -jar $APP_NAME --spring.profiles.active=prod4.3 环境变量激活
我们还可以通过设置服务器系统环境变量来激活环境,在环境变量中设置SPRING_PROFILES_ACTIVE 即可,不过这种方式不常用,相识即可
五、测试是否生效
上一小节中,我们通过设置激活了开发环境,我们就来实际验证以下是否生效。
出现下图红框表示部分,说明我们激活了dev 开发环境
https://img2024.cnblogs.com/blog/2381533/202404/2381533-20240401082246362-588476936.png
本期内容就到这了,盼望对你有所帮助,我们下期再见 (●'◡'●)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]