springboot系列四 profile 多环境配置

我们在开发中和上线后的一些配置参数不通,如:数据库连接、短信验证等

springboot为我们提供了区分环境配置的方法

同一个配置文件不同环境配置

同一个配置文件application.yml中可以使用---3个杠来区分环境

server:
  port: 8080
spring:
  profiles:
    active: dev #默认启动的环境

# 开发环境配置
---
spring:
  profiles: dev
myconf:
  user:
    name: 开发-哈哈
# 生产环境配置
---
spring:
  profiles: prod
myconf:
  user:
    name: 生产-嘿嘿嘿

启动类:

@SpringBootApplication
@RestController
public class ProfileApp {

    @Value("${myconf.user.name}")
    private String userName;

    public static void main(String[] args) {
        SpringApplication.run(ProfileApp.class, args);
    }

    @GetMapping("/name")
    public String getUserName(){
        return userName;
    }
}

启动项目后,查看日志:

2018-11-23 16:59:53.131  INFO 90732 --- [  restartedMain] com.yimingkeji.profile.ProfileApp        : The following profiles are active: dev #当前的profile是dev

访问 http://localhost:8080/name

开发-哈哈

如果修改启动环境为 prod

spring:
  profiles:
    active: prod

启动后再次访问 http://localhost:8080/name

生产-嘿嘿嘿

不同配置文件不同环境

还可以添加配置文件,以application-环境来命名,如

application.yml #默认配置
application-dev.yml # 开发环境配置
application-prod.yml # 生产环境配置

application.yml

server:
  port: 8080
spring:
  profiles:
    active: dev #默认启动的环境

application-dev.yml

myconf:
  user:
    address: 杭州市西湖区

application-prod.yml

myconf:
  user:
    address: 北京北京

接口:

@Value("${myconf.user.address}")
private String address;
@GetMapping("/address")
public String getAddress(){
    return address;
}

先设置启动环境为dev,启动后访问 http://localhost:8080/address

杭州市西湖区

设置环境为prod

北京北京

当然,这2种方式可以配合使用。在application.yml中保留之前的配置:

# 开发环境配置
---
spring:
  profiles: dev
myconf:
  user:
    name: 开发-哈哈
# 生产环境配置
---
spring:
  profiles: prod
myconf:
  user:
    name: 生产-嘿嘿嘿

修改接口:

@Value("${myconf.user.name}")
private String userName;
@Value("${myconf.user.address}")
private String address;
@GetMapping("/user")
public String user(){
    return "姓名:" + userName + ", 地址:" + address;
}

环境dev,访问 http://localhost:8080/user

姓名:开发-哈哈, 地址:杭州市西湖区

转载于:https://my.oschina.net/yimingkeji/blog/2935837

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值