关于YAML配置

YAML是一种编写配置文件的语法,表现为使用.yml作为扩展名的配置文件,Spring框架默认并不支持此类配置文件,而Spring Boot的基础依赖项中已经包含解析此类文件的依赖项,所以,在Spring Boot项目可以直接使用此类配置文件。

在Springboot项目中,使用.properties和.yml配置是等效的,均可以正常识别并使用.

在YAML语法中,其典型的特征是

  • 如果属性名中有小数点,则可以改为冒号,并且,冒号的右侧应该换行且缩进2个空格

    • 在IntelliJ IDEA中编辑YAML语法的配置时,会自动将按下的TAB键的内容转换成2个空格
  • 如果多个属性名称中有相同的部分,不必(也不可)重复配置,只需要保持正确的缩进即可
  • 属性名与属性值之间使用1个冒号和1个空格进行分隔
  • 对于纯数值类型的属性值,可能需要使用双引号框住
  • 也能识别例如xx.xx.xx这类属性名

例如在.properties中配置为

spring.datasource.username=root
spring.datasource.password=root

在.yml中则配置为

spring:datasource:username: rootpassword: root

当然.yml也可以使用xx.xx.xx.所有也能像在.properties中那样配置

注意:YAML的解析相对更加严格,如果在此类配置文件中出现了错误的语法,甚至只是一些不应该出现的字符,都会导致解析失败!并且,如果直接复制粘贴整个文件,还可能出现乱码问题!

关于配置Profile配置

同一个项目,在不同的环境中(例如开发环境,测试环境,生成环境),需要的配置值可能是不一样的,例如日志的显示级别,连接数据库的配置参数等,如果把同一个配置文件的多个属性的值反复修改是不现实的.

Spring框架提供了Profile配置机制,在Spring Boot中更是简化了此项操作,它允许使用
application_自定义名称.properties作为Profile配置文件的文件名,这类配置文件默认是不加载的!

例如,在application.properties的同级别路径下创建applicaton-dev.properties,添加配置如下

# 此配置文件是【开发环境】的配置 #
#  此配置文件需要被激活才会生效 #
# ######################## ## 连接数据库的配置参数
spring.datasource.url=jdbc:mysql://localhost:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root# 日志的显示级别
logging.level.cn.tedu.csmall=trace

这种配置默认是被加载的,需要激活才能使用,在application.properties中,根据以上配置文件的名称(application-dev.properties)来激活配置文件

# 激活Profile配置
spring.profiles.active=dev

我们的application.properties是始终加载的配置,而applicaton-自定义名称.properties是必须激活才会加载的配置

如果application.properties与被激活的Profile配置中存在同名的属性,配置值却不相同时,在执行时候,将以为Profile配置为准!

上面的Profile在.yml配置中同样适用

在application.yml中激活配置

application.properties 和application.yml相关推荐

  1. IDEA 不识别application.properties或application.yml或pom.xml文件

    不知道大家有没有遇到我这种情况,当把springboot全部依赖都正常导入后,application.properties或application.yml未被正常识别 像这种其实就是文件没有被正确扫描 ...

  2. Spring Boot学习总结(8)——SpringBoot Common application properties(application.properties)详解

    各种属性可以在您的application.properties/application.yml文件或命令行开关指定.下面提供了常见的Spring启动属性和引用它们的基础类的列表. # ======== ...

  3. SpringBoot application.properties和application.yml配置详解

    #SPRING CONFIG(ConfigFileApplicationListener) spring.config.name =#配置文件名(默认 为 'application' ) spring ...

  4. Spring Boot中配置文件application.properties使用

    转载自 https://www.cnblogs.com/gczr/p/6692054.html 一.配置文档配置项的调用 启动后在浏览器直接输入http://localhost:18080/user/ ...

  5. Spring Boot学习总结(13)——Spring Boot加载application.properties配置文件顺序规则

    SpringApplication会从以下路径加载所有的application.properties文件: 1.file:./config/(当前目录下的config文件夹) 2.file:./(当前 ...

  6. 05全局配置文件application.properties详解

    Spring Boot 提供了大量的自动配置,极大地简化了spring 应用的开发过程,当用户创建了一个 Spring Boot 项目后,即使不进行任何配置,该项目也能顺利的运行起来.当然,用户也可以 ...

  7. Spring 的application.properties项目配置与注解

    一.项目结构介绍 如上图所示,Spring Boot的基础结构共三个文件: src/main/java  程序开发以及主程序入口 src/main/resources 配置文件 src/test/ja ...

  8. bootstrap.yml与application.properties区别?

    1. bootstrap.yml先于application.properties被加载. 2. bootstrap.yml被Spring ApplicationContext的父类加载,这个类先于加载 ...

  9. springboot的application.properties与.yml的区别

    现在我们的application.properties文件内容是: [plain] view plain copy     server.port=8090 server.session-timeou ...

最新文章

  1. 【编程题目】左旋转字符串 ☆
  2. matlab矩阵方块网络着色imshow_matlab中用imshow()显示图像与图像矩阵的数据类型的关系...
  3. 4.64Tomcat的日志
  4. 新概念0817:终身学习
  5. Javascrip—拷贝对象(13)
  6. java jmap 分析_利用java虚拟机的工具jmap分析java内存情况
  7. 光纤测试时不得不用的福禄克CFP光纤测试仪
  8. scrapy爬取动态网页_scrapy_splash 设置随机请求头
  9. native c++ 之javah
  10. 汇编中bss,data,text,rodata,heap,stack段的作用
  11. 调多线程中的消息发送
  12. IE中如何屏蔽窗口关闭
  13. 手机安全卫士——流量管理
  14. 153.寻找旋转排序数组中的最小值
  15. 数据库工具-DBeaver工具
  16. 高分影像批处理第三回——RPC文件与几何校正
  17. SD--定价过程的16个字段的作用说明
  18. Python的seek函数
  19. 最新北京人才公寓申请流程,技术员的福利~
  20. SuperMap 基本概念

热门文章

  1. 记录清理ubuntu16.04日志
  2. makefile 的ifeq,filter,strip 简单使用。
  3. 头歌--实验四 蛮力法
  4. JPA中@OneToOne 与 @OneToMany 的用法
  5. JavaScript 三角形常用数学方法封装
  6. MATLAB从入门到精通-向量运算点乘、叉乘和卷积
  7. python中的dtype、type、astype的区别
  8. easyUI-增删改查
  9. 15、第三章数据链路层习题及参考答案
  10. gee初次认证中出现gcloud command not found 问题的解决