具体做法:

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

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

1 profile = dev_envrimont

View Code

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

1 profile = prod_envrimont

View Code

3、application.properties

1 spring.data.mongodb.uri=mongodb://192.168.22.110:27017/myfirstMongodb
2
3 #spring.profiles.active
4 spring.profiles.active=dev

View Code

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

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

4、Controller

1     @Autowired
2     private Environment env;
3
4     @RequestMapping("/testProfile")
5     public String testProfile(){
6         return env.getProperty("profile");
7     }

View Code

测试

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

结论:

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

第十四章 springboot + profile(不同环境读取不同配置)相关推荐

  1. 谭浩强《C++程序设计》书后习题 第十三章-第十四章

    2019独角兽企业重金招聘Python工程师标准>>> 最近要复习一下C和C++的基础知识,于是计划把之前学过的谭浩强的<C程序设计>和<C++程序设计>习题 ...

  2. 鸟哥的Linux私房菜(服务器)- 第十四章、账号控管: NIS 服务器

    第十四章.账号控管: NIS 服务器 最近更新日期:2011/07/28 有没有想过,如果我有十部 Linux 主机,这十部主机仅负责不同的功能,事实上,所有的主机账号与对应的密码都相同! 那么我是将 ...

  3. 鸟哥的Linux私房菜(基础篇)- 第二十四章、 X Window 配置介绍

    第二十四章. X Window 配置介绍 最近升级日期:2009/08/07 在 Linux 上头的图形介面我们称之为 X Window System,简称为 X 或 X11 罗!为何称之为系统呢?这 ...

  4. [转]Windows Shell 编程 第十四章【来源:http://blog.csdn.net/wangqiulin123456/article/details/7988010】...

    第十四章 设计Shell集成应用 有一些工具可以使应用程序更紧密地与Shell和底层系统进行集成.也就是说,用户可以象处理系统文档和程序那样处理你的文档和程序.例如,右击文件来显示可用功能列表等.Wi ...

  5. 系统架构师学习笔记_第十四章_连载

    第十四章  基于ODP的架构师实践 14.1  基于ODP的架构开发过程 系统架构 反映了功能在系统系统构件中的 分布.基础设施相关技术.架构设计模式 等,它包含了架构的 原则 和 方法.构件关系 与 ...

  6. 《Reids 设计与实现》第十四章 集群(上)

    <Reids 设计与实现>第十四章 集群(上) 文章目录 <Reids 设计与实现>第十四章 集群(上) 一.简介 二.节点 1.启动节点 2.集群数据结构 3.CLUSTER ...

  7. 《深入理解 Spring Cloud 与微服务构建》第十四章 服务链路追踪 Spring Cloud Sleuth

    <深入理解 Spring Cloud 与微服务构建>第十四章 服务链路追踪 Spring Cloud Sleuth 文章目录 <深入理解 Spring Cloud 与微服务构建> ...

  8. 第十四章:监测和维护活动目录(四)

    上几篇:监测和维护活动目录(一) ,监测和维护活动目录(二) , 监测和维护活动目录(三)中,我们主要了解了对AD需要监控什么和如何监控 本篇则是讲述对AD如何维护,至此<WindowsServ ...

  9. 第十一、十二、十三、十四章 网络配置管理、归档和远程复制同步文件、软件包管理、创建访问linux文件系统

    第十一章 网络配置管理 网络地址获取方式: 1)DHCP自动获取 2)手动配置 1.网卡配置文件: /etc/sysconfig/network-scripts/ [root@server0 Desk ...

最新文章

  1. LeCun点赞!GAN模型130毫秒生成动漫肖像!
  2. APL开发日志 -- 2013-03-02
  3. 现代谱估计:多窗口谱
  4. ITK:指定区域裁剪图像
  5. sql2000导出mysql_如何将sql2000的数据库导入到mysql中?
  6. python实现局域网攻击_通过python实现DNS欺骗
  7. java基本数据类型所占长度_java基本数据类型长度详解
  8. 电子科技大学计算机读博好毕业,高产博士生读博一年达毕业要求:写论文不无聊...
  9. mac上配置rails开发环境
  10. flash cs4 无法调试
  11. mysql 循环查询_mysql循环查询(mysql循环语句)
  12. 生动实践现代农业-国稻种芯-泸州江阳:谋定产村深度融合
  13. 如何将base64码保存为图片
  14. VMware虚拟机三种网络连接模式详解
  15. 后台管理制作首页组件及ui框架的使用
  16. 输出100以内不能被7整除的数
  17. 【机器学习基础】线性基函数模型
  18. 【树莓派】4G模块打电话
  19. 【Android 安全】Android 应用 APK 加固总结 ( 加固原理 | 应用加固完整的实现方案 | 源码资源 )
  20. 你和孩子是好朋友吗?

热门文章

  1. 函数幂计算机中怎么用,Excel中幂函数的操作使用
  2. AI嵌入式开发:NVIDIA Jetson Xavier NX刷机(2)
  3. 有三AI 1000问回归,备战秋招,更多,更快,更好,等你来战!
  4. Sharpdevelop学习
  5. 保障粮食安全-农业大健康-温铁军 谋定落实粮食安全责任
  6. 一个故事讲清楚BIO NIO 异步
  7. Solr安装并导入mysql数据
  8. php 微信客服信息推送失败 微信重复推送客服消息 40001 45047
  9. opencv 中affine函数实现旋转和平移
  10. leetcode 131. Palindrome Partitioning