SpringBoot多环境设置

打印 上一主题 下一主题

主题 898|帖子 898|积分 2694

写在前面

在实际项目标开发过程中,我们程序往往需要在差异环境中运行。比方:开发环境、测试环境和生产环境。
每个环境中的设置参数大概都会有所差异,比方数据库连接信息、文件服务器等等。
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 设置如下
    1. server.port=8080
    复制代码
  • 不支持复杂的数据结构,只支持字符串类型的键值对。因此,它的使用适用于简单的设置场景
2.2YAML


  • 接纳树状结构,一目了然
    1. server:
    2. 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 存放生产环境的特殊设置

3.2 设置文件内容

①设置开发环境
application-dev.yml
  1. server:
  2. port: 8080 tomcat:  uri-encoding: UTF-8environment: name: 开发环境
复制代码
application-dev.properties
  1. server.port=8080
  2. server.tomcat.uri-encoding=UTF-8
  3. environment.name=开发环境
复制代码
②设置生产环境
application-prod.yml
  1. server:
  2. port: 8090
  3. tomcat:
  4.   uri-encoding: UTF-8
  5. environment:
  6. name: 生产环境
复制代码
application-prod.properties
  1. server.port=8090
  2. server.tomcat.uri-encoding=UTF-8
  3. environment.name=生产环境
复制代码
application-test.yml和application-test.properties 设置文件类似,由于篇幅原因,这里就不一一例举了
四、激活 Profile

在上一小节中,我们创建了三个设置文件即设置了三种环境,那么我们怎么才能激活对应环境呢
4.1 设置文件激活

其实很多简单,我们只需要在application.yml 大概application.properties  添加如下设置即可,即可激活开发环境
①application.yml
  1. # application.yml
  2. spring
  3. profiles:
  4.   active: dev
复制代码
②application.properties
  1. spring.profiles.active=dev
复制代码
4.2 启动参数激活

在命令行中设置 spring.profiles.active 系统属性。
比方,你可以使用以下命令来启动你的应用,并激活 "prod" 环境:
  1. # 企业级项目开发中,针对生产环境,一般通过启动命令再指定激活生产 环境
  2. java -jar $APP_NAME --spring.profiles.active=prod
复制代码
4.3 环境变量激活

我们还可以通过设置服务器系统环境变量来激活环境,在环境变量中设置SPRING_PROFILES_ACTIVE 即可,不过这种方式不常用,相识即可
五、测试是否生效

上一小节中,我们通过设置激活了开发环境,我们就来实际验证以下是否生效。
出现下图红框表示部分,说明我们激活了dev 开发环境

本期内容就到这了,盼望对你有所帮助,我们下期再见 (●'◡'●)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

河曲智叟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表