SpringBoot yml 配置

1. 在 spring boot 中,有两种配置文件,一种是application.properties,另一种是application.yml,两种都可以配置spring boot 项目中的一些变量的定义,参数的设置等。下面来说说两者的区别。

application.properties 配置文件在写的时候要写完整,如:

spring.profiles.active=dev
spring.datasource.data-username=root
spring.datasource.data-password=root

在yml 文件中配置的话,写法如下:

  

spring:profiles:active: proddatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/testusername: rootpassword: rootyml 文件在写的时候层次感强,而且少写了代码。所以现在很多人都使用yml配置文件。2. 在项目中配置多套环境的配置方法。
因为现在一个项目有好多环境,开发环境,测试环境,准生产环境,生产环境,每个环境的参数不同,所以我们就可以把每个环境的参数配置到yml文件中,这样在想用哪个环境的时候只需要在主配置文件中将用的配置文件写上就行如下:
spring:profiles:active: prod
这行配置在application.yml 文件中,意思是当前起作用的配置文件是application_prod.yml,其他的配置文件命名为 application_dev.yml,application_bat.yml等。3. 项目启动的时候也可以设置 Java -jar xxxxxx.jar spring.profiles.actiove=prod 也可以这样启动设置配置文件,但是这只是用于开发和测试。4. 配置文件数据的读取:
比如我在文件中配置了一个 
massage:data:name: qibaoyi
我在类中想要获取他 需要这样去写:
@Value("${message.data.name}")
private String name;后面你取到变量name 的值就是配置文件中配置的值。5. 大家需要注意一点,配置文件中参数的写法:name: qibaoyi中间是有一个空格的,在IDEA 编译器中它会提醒你的。

YAML文件简介

我们可能在spring配置文件里见到过.yml格式的东东,配置文件不都是.propertie或者.xml文件吗?.yml是什么鬼,今天我带你们来一探究竟。

YAML(Yet Another Markup Language)(发音 /ˈjæməl/ )
 一种基于Unicode容易阅读,容易和脚本语言交互的,用来表达资料序列的编程语言。

适应场景

  1. 脚本语言:由于实现简单,解析成本很低,YAML 特别适合在脚本语言中使用
  2. 序列化: YAML是由宿主语言数据类型直转,的比较适合做序列化。
  3. 配置文件:写 YAML 要比写 XML 快得多(无需关注标签或引号),并且比 INI 文档功能更强。由于兼容性问题,不同语言间的数据流转建议不要用 YAML。

语言优点

  1. YAML易于人们阅读。
  2. YAML数据在编程语言之间是可移植的。
  3. YAML匹配敏捷语言的本机数据结构。
  4. YAML具有一致的模型来支持通用工具。
  5. YAML支持单程处理。
  6. YAML具有表现力和可扩展性。
  7. YAML易于实现和使用。

YAML 语法

  1. 使用空格 Space 缩进表示分层,不同层次之间的缩进可以使用不同的空格数目,但是同层元素一定左对齐,即前面空格数目相同(不能使用 Tab,各个系统 Tab对应的 Space 数目可能不同,导致层次混乱)
  2. ‘#’表示注释,只能单行注释,从#开始处到行尾
  3. 破折号后面跟一个空格(a dash and space)表示列表
  4. 用冒号和空格表示键值对 key: value
  5. 简单数据(scalars,标量数据)可以不使用引号括起来,包括字符串数据。用单引号或者双引号括起来的被当作字符串数据,在单引号或双引号中使用C风格的转义字符

Sequence of Scalars  简单数据列表

- Mark McGwire- Sammy Sosa- Ken Griffey

Mapping Scalars to Scalars 简单数据键值对以及注释

hr: 65 # Home runsavg: 0.278 # Batting averagerbi: 147 # Runs Batted In

Mapping Scalars to Sequences 简单数据列表键值对

american:- Boston Red Sox- Detroit Tigers- New York Yankeesnational:- New York Mets- Chicago Cubs- Atlanta Braves

Sequence of Mappings 键值对列表

-name: Mark McGwirehr: 65avg: 0.278-name: Sammy Sosahr: 63avg: 0.288

YAML 还支持流类型,用中括号括起来表示列表,用逗号分隔元素;用大括号括起来表示键值对,用逗号分隔元素。

Sequence of Sequences 列表的列表

- [name , hr, avg ]- [Mark McGwire, 65, 0.278]- [Sammy Sosa , 63, 0.288]

Mapping of Mappings  键值对的键值对

Mark McGwire: {hr: 65, avg: 0.278}Sammy Sosa: {hr: 63,avg: 0.288}

yaml 官方网站:http://www.yaml.org

yaml 官方文档:http://www.yaml.org/spec/1.2/spec.html

想了解更多技术文章,请关注“java开发者联盟”

--------------------- 本文来自 beginya 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/beginya/article/details/76768968?utm_source=copy

Spring boot 配置方法相关推荐

  1. idea提示未配置 Spring Boot 配置注解处理器解决方法

    未配置 Spring Boot 配置注解处理器 解决方法: 在pom.xml里添加依赖 <dependency><groupId>org.springframework.boo ...

  2. Spring Boot 配置元数据指南

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 遗失的拂晓 来源 | 公众号「锅外的大佬」 1. 概览 在编写 Spring Bo ...

  3. spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获

    spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获 当你的某个控制器内的某个方法报错,基本上回显示出java错误代码,非常不友好,这 ...

  4. java多个数据库数据进行访问_通过Spring Boot配置动态数据源访问多个数据库的实现代码...

    之前写过一篇博客<Spring+Mybatis+Mysql搭建分布式数据库访问框架>描述如何通过Spring+Mybatis配置动态数据源访问多个数据库.但是之前的方案有一些限制(原博客中 ...

  5. 19年8月 字母哥 第三章 spring boot 配置原理实战 用热点公司网不行

    第三章 spring boot 配置原理实战 3.1.结合配置加载讲解bean自动装配原理 3.2.详解YAML语法及占位符语法 3.3.获取自定义配置的两种实现方法 3.4.配置文件注入值数据校验 ...

  6. mysql 多数据源访问_通过Spring Boot配置动态数据源访问多个数据库的实现代码

    之前写过一篇博客<Spring+Mybatis+Mysql搭建分布式数据库访问框架>描述如何通过Spring+Mybatis配置动态数据源访问多个数据库.但是之前的方案有一些限制(原博客中 ...

  7. spring boot配置logback日志

    spring boot配置logback日志 在上一篇spring boot入门里提过,Spring Boot默认的日志打印是logback,所以配置logback日志会很简单,但是也有注意的地方. ...

  8. spring boot配置mybatis和事务管理

    spring boot配置mybatis和事务管理 一.spring boot与mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依赖如下: <!-- Spri ...

  9. spring boot配置dubbo注意事项

    spring boot配置dubbo注意事项 通过前两篇文章,知道了spring boot配置dubbo有两种方式.具体请回顾前两篇文章吧. 现在主要是说下spring boot在自己的applica ...

  10. 超全、超详的Spring Boot配置讲解笔记

    超全.超详的Spring Boot配置讲解笔记 springboot默认加载配置 SpringBoot使用两种全局的配置文件,全局配置文件可以对一些默认配置进行修改. application.prop ...

最新文章

  1. MWeb for iOS 测试版介绍
  2. iOS 关于.tbd与.dylib用法
  3. python中collections_Python中collections模块的基本使用教程
  4. 深入理解Linux高性能网络架构的那些事!
  5. flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo
  6. binary.Write 小坑一个兼论go的错误处理哲学
  7. 诗词文中的地名(名人生卒地、生卒年、名人籍贯)
  8. [技术文档]Linux从入门到精通
  9. 自由软件之“父”—Richard. M. Stallman
  10. [EE261学习笔记] 4.常用的几个傅里叶变换相关公式
  11. robotstudio工作站建立
  12. 联想小新笔记本,16G运行内存只能使用13.9G或14.9G的解决方案
  13. 在做产品经理的实习收获(第二篇)
  14. 法国内政部选择IDEMIA和Sopra Steria为其开发新标准边境管制系统
  15. 【C++面试宝典】C++11新特性知识总结
  16. stp文件怎么变文件夹_PDPS教程之数模数据格式转换-stp文件怎么打开
  17. android 隐私泄露 路径,一种Android应用隐私泄露漏洞检测方法与流程
  18. 2022-2023年度第四届全国大学生算法设计与编程挑战赛(秋季赛)【热身赛】h-4题 花灯
  19. uniapp实现瀑布流懒加载实现和无限上拉加载更多
  20. 银内胆保温杯的功效和作用

热门文章

  1. frame边框阴影html,CSS阴影效果的比较之drop-Shadow与box-Shadow
  2. 长方体空间移动工程师_打破常规,私人定制移动阳光房
  3. 350.两个数组的交集II
  4. 随机森林进行特征选择
  5. Tensor is not an element of this graph 解决方法
  6. linux火狐浏览器和爬虫,爬虫入门:Firefox 结合 Scrapy Shell 爬取网页数据
  7. 凸优化有关的数值线性代数知识 4分块消元与Schur补
  8. 凸优化第六章逼近与拟合 6.1范数逼近
  9. Ribbon和Feign的对比-带简易例子
  10. Java编写网络爬虫