开发环境及配置文件占位符

开发环境

  • 开发环境(Development environment 简称 dev):开发环境是程序猿们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告。

  • 测试环境(test):一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。

  • 灰度环境(pre):灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样。 <很多企业将test环境作为Pre环境 >

  • 生产环境(Production environment 简称 prod):是值正式提供对外服务的,一般会关掉错误报告,打开错误日志。

三个环境也可以说是系统开发的三个阶段:开发->测试->上线,其中生产环境也就是通常说的真实环境。

为什么需要分环境
(参考:https://www.cnblogs.com/05-hust/p/12097417.html)

springboot项目中的配置文件

在这里插入图片描述

因为本地测试的数据库和部署在服务器上的数据库不一样,所以我把本地测试的数据库配置和服务器的数据库配置分别写在application-dev.yml和application-prod.yml

这样子做之后,以后把项目打包到服务器之前,就不需要再修改数据库的配置,只需在application.yml文件中要修改spring.profile.active配置即可

切换方法:

一般在设置application.properties中spring.profiles.active=dev时,则此时启动连接的是dev环境。

且如果有重复的则配置一切以application.properties为主,application.properties会覆盖掉application-dev.properties或者application-pro.properties中与application.properties属性一致的配置

配置文件中的占位符使用

在application.yml/properties配置文件内可以直接使用占位符来进行配置的相互引用

#引用 :halo
system.name: ${spring.application.name} 

spring.application.name: halo

这样我们在系统中通过@Value(“${name}”)或者通过@ConfigurationProperties方式使用时,得到的值都为halo

// @Value方式
@Value("${system.name}")
private String name;

// @ConfigurationProperties方式
@Configuration
@ConfigurationProperties(prefix = "system")
static class LoadConfig {
  private String name;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }
}

这样方式极大地减少了相同的配置出现,让我们在配置文件中也可以实现类似于常量的定义
学习例子来自知乎大佬

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值