在实际的应用开发中,可能会需要不同配置文件来支撑程序的运行,如开发,测试,预生产,生产环境等,程序在不同的环境下可能需要不同的配置,如不同数据源等,如果每次在不同的环境下都要去修改配置文件就会闲得不合理,而且很麻烦,此时就可以通过配置profiles,使程序在不同的环境中使用不同的配置文件。

1. properties文件配置方式

  这种方式是将通用的配置到application.properties中,在application.properties中使用spring.profiles.active=xxx来指定某环境。每个不同环境的配置文件的命名方式为application-xxx.properties.其中spring.profiles.active=xxx的xxx与application-xxx.properties文件名的xxx必须一致。xxx就是表示是某个环境,程序会自动去读取application-xxx.properties中的配置文件信息。

  示例:

  application.properties

spring.profiles.active=dev
server.port=8080

  application-dev.properties

server.port=8082

  启动项目查看日志:

2018-10-11 15:54:59.672  INFO 7752 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8082 (http) with context path ''
2018-10-11 15:54:59.684  INFO 7752 --- [  restartedMain] c.w.boot.SpringBootDemo02Application     : Started SpringBootDemo02Application in 2.504 seconds (JVM running for 4.081)

  可以看出项目的端口是8082,使用的是application-dev.properties配置的端口,而不是application.properties中的8080.

2. yaml文件配置方式

  application.yaml

server:port: 8080spring:profiles:active: dev
---spring:profiles: dev
server:port: 8082

  yaml文件中,直接使用---符号,就可以进行多环境配置了,如上,使用了dev的环境,启动后端口仍然是8082。

yaml配置文件的优势是,不用冗余多个文件,只需要一个文件就可以了,而且代码风格简洁,优雅,层次分明,但是不能使用@PropertySource()注解,所以如果需要使用@PropertySource()的话,需要使用application.properties.

原文 SpringBoot学习笔记(3)----SpringBoot的profile多环境配置

转载于:https://www.cnblogs.com/xiaoshen666/p/10843921.html

SpringBoot学习笔记(3)----SpringBoot的profile多环境配置相关推荐

  1. SpringBoot学习笔记(4)----SpringBoot中freemarker、thymeleaf的使用

    1. freemarker引擎的使用 如果你使用的是idea或者eclipse中安装了sts插件,那么在新建项目时就可以直接指定试图模板 如图: 勾选freeMarker,此时springboot项目 ...

  2. SpringBoot学习笔记(9)----SpringBoot中使用关系型数据库以及事务处理

    在实际的运用开发中,跟数据库之间的交互是必不可少的,SpringBoot也提供了两种跟数据库交互的方式. 1. 使用JdbcTemplate 在SpringBoot中提供了JdbcTemplate模板 ...

  3. SpringBoot学习笔记(16)----SpringBoot整合Swagger2

    Swagger 是一个规范和完整的框架,用于生成,描述,调用和可视化RESTful风格的web服务 http://swagger.io Springfox的前身是swagger-springmvc,是 ...

  4. 【Springboot学习笔记】SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法

    [Springboot学习笔记]SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法 目录 1.搭建环境 1.1直接从网上下载SpringB ...

  5. SpringBoot学习笔记-2:第二章 Spring Boot 配置

    第二章 Spring Boot 配置 1.YAML 配置 SpringBoot 全局配置文件 application.properties application.yml YAML 以数据为中心,比 ...

  6. Spring Boot基础学习笔记05:Spring Boot多环境配置

    文章目录 零.学习目标 1.掌握使用Profile文件进行多环境配置 2.掌握使用@Profile注解进行多环境配置 3.熟悉随机值设置以及参数间引用 一.项目进行多环境配置的必要性 二.使用Prof ...

  7. springboot学习笔记-5 springboot整合shiro

    shiro是一个权限框架,具体的使用可以查看其官网 http://shiro.apache.org/  它提供了很方便的权限认证和登录的功能. 而springboot作为一个开源框架,必然提供了和sh ...

  8. 【OpenGL学习笔记①】——openGL flew flgw flut 环境配置 + 绘制出Hello World

      该文章旨在帮助 计算机图形学 openGL 初学者快速安装和配置 openGL的环境(包括glew和glfw,还有glut[进阶]),并手把手指导如何绘制出第一句 "Hello Worl ...

  9. Python学习笔记(0):开发环境配置

    开发环境 操作系统 Ubuntu16.04 由于Ubuntu下自带Python,所以无需安装,可以在终端直接输入命令python来查看Python的版本,我的电脑上是2.7.10. 安装ipython ...

  10. Z3 SMTsolver 学习笔记(一) ——安装,环境配置篇

    https://github.com/Z3Prover/z3 源文件从这里可以下载.然后看看readMe文件. Windows7下使用Visual Studio 命令符建立Z3 着急的兄弟可以直接跳到 ...

最新文章

  1. c的开始,求最大数。
  2. 【计算机网络】关于分组交换和电路交换及其时延的讨论
  3. Python基础之数据类型(一)
  4. phpAmin如何导入导出大数据文件?
  5. 【博客美化】08.添加扩大/缩小浏览区域大小 按钮
  6. 静态时序分析——Data to data check
  7. JAXB自定义绑定– Java.util.Date / Spring 3序列化
  8. SQLIntegrityConstraintViolationException: 异常解决
  9. CSS 实现行内和上下自适应的几种方法
  10. python获取绝对路径_Python 获取文件路径及文件目录
  11. 泛泰android phone下载,这里泛泰手机全系列驱动和刷机临时RECVOVERY下载,自测全部好用...
  12. WORD之文字处理之页眉页脚的设置
  13. 一键端服务器维护,游戏服务器一键端
  14. SLCP验厂辅导,发布网关是SLCP系统中用于数据托管和共享的关键角色
  15. php逐个汉字遍历字符串
  16. bim的二次开发需要什么语言_CAD二次开发语言简介
  17. python高级应用_Python高级应用程序设计任务
  18. JavaEE学习日志(七十三): 黑马商城项目(六)
  19. 阿里云服务器关闭mysql数据库_mysql - 阿里云服务器数据库自动关闭,怎么解决...
  20. android签名方法,Android : apk系统签名的多种方法

热门文章

  1. Struts2学习笔记一之工作原理和struts.xml解析
  2. 【Python】django安装
  3. 更改JENKINS主目录
  4. (非本校)湖南工业大学个人选拔赛第一场 解题报告
  5. Linux 引导流程解析
  6. 禁用Windows 10系统更新
  7. SpringBoot多数据源切换详解,以及开启事务后数据源切换失败处理
  8. MySQL 索引底层实现原理(B-tree、B+tree)
  9. redis数据类型-set集合
  10. 用户已关闭隐式函数计算_针对隐式反馈和LightFM模型的杂谈