欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

详解springboot + profile(不同环境读取不同配置)

时间:2020-10-17 10:49:18|栏目:JAVA代码|点击:

具体做法:

  1. 不同环境的配置设置一个配置文件,例如:dev环境下的配置配置在application-dev.properties中;prod环境下的配置配置在application-prod.properties中。
  2. 在application.properties中指定使用哪一个文件

1、application-dev.properties(dev环境下的配置)

profile = dev_envrimont

2、application-prod.properties(prod环境下的配置)

 profile = prod_envrimont

3、application.properties

spring.data.mongodb.uri=mongodb://192.168.22.110:27017/myfirstMongodb 

 #spring.profiles.active
 spring.profiles.active=dev

说明:上边的配置表示使用dev环境下的配置。

注意:spring.data.mongodb.uri=mongodb://192.168.22.110:27017/myfirstMongodb该配置是application-dev.properties没有的配置

4、Controller

@Autowired
  private Environment env;
    
  @RequestMapping("/testProfile")
  public String testProfile(){
    return env.getProperty("profile");
  }

测试:

  1. 上述代码执行后的结果是:dev_envrimont和mongodb://192.168.22.110:27017/myfirstMongodb
  2. 如果application.properties的配置改为:spring.profiles.active=prod,则结果是:prod_envrimont
  3. 如果application.properties的配置改为:spring.profiles.active=prod,而application.properties中也配置了profile=xxx(不管该配置配置在spring.profiles.active=prod的上方还是下方),这个时候结果是:prod_envrimont
  4. 如果application.properties的配置改为:spring.profiles.active=prod,而application.properties中也配置了profile=xxx(不管该配置配置在spring.profiles.active=prod的上方还是下方),但是application-prod.properties删掉了profile = prod_envrimont,这个时候结果是:xxx

结论:

  1. 各个环境公共的配置写在application.properties中
  2. 各个模块独有的配置配置在自己的application-{xxx}.properties文件中
  3. 程序读取的时候优先读取application.properties中选中的profile的配置,若读不到才会从application.properties去读

上一篇:详解mybatis 批量更新数据两种方法效率对比

栏    目:JAVA代码

下一篇:Java复习之集合框架总结

本文标题:详解springboot + profile(不同环境读取不同配置)

本文地址:http://www.codeinn.net/misctech/12631.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有