04、配置文件

1、文件类型

1.1、properties

同以前的properties用法

1.2、yaml

1.2.1、简介

YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。

非常适合用来做以数据为中心的配置文件

1.2.2、基本语法

  • key: value;kv之间有空格
  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用tab,只允许空格
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • '#'表示注释
  • 字符串无需加引号,如果要加,’'与""表示字符串内容 会被 转义/不转义

1.2.3、数据类型

  • 字面量:单个的、不可再分的值。date、boolean、string、number、null
k: v
  • 对象:键值对的集合。map、hash、set、object
行内写法:  k: {k1:v1,k2:v2,k3:v3}
#或
k: k1: v1k2: v2k3: v3
  • 数组:一组按次序排列的值。array、list、queue
行内写法:  k: [v1,v2,v3]
#或者
k:- v1- v2- v3

1.2.4、示例

@Data
public class Person {private String userName;private Boolean boss;private Date birth;private Integer age;private Pet pet;private String[] interests;private List<String> animal;private Map<String, Object> score;private Set<Double> salarys;private Map<String, List<Pet>> allPets;
}@Data
public class Pet {private String name;private Double weight;
}
# yaml表示以上对象
person:userName: zhangsanboss: falsebirth: 2019/12/12 20:12:33age: 18pet: name: tomcatweight: 23.4interests: [篮球,游泳]animal: - jerry- marioscore:english: first: 30second: 40third: 50math: [131,140,148]chinese: {first: 128,second: 136}salarys: [3999,4999.98,5999.99]allPets:sick:- {name: tom}- {name: jerry,weight: 47}health: [{name: mario,weight: 47}]

2、配置提示

自定义的类和配置文件绑定一般没有提示。

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId></exclude></excludes></configuration></plugin></plugins></build>
person:
#  单引号会将 \n作为字符串输出   双引号会将\n 作为换行输出
#  双引号不会转义,单引号会转义boss: truebirth: 2019/12/9age: 18
#  interests: [篮球,足球]interests:- 篮球- 足球- 18animal: [阿猫,阿狗]
#  score:
#    english: 80
#    math: 90score: {english:80,math:90}salarys:- 9999.98- 9999.99pet:name: 阿狗weight: 99.99allPets:sick:- {name: 阿狗,weight: 99.99}- name: 阿猫weight: 88.88- name: 阿虫weight: 77.77health:- {name: 阿花,weight: 199.99}- {name: 阿明,weight: 199.99}user-name: zhangsan#spring:
#  banner:
#    image:
#      bitdepth: 4
#  cache:
#    type: redis
#    redis:
#      time-to-live: 11000
import lombok.Data;
import lombok.ToString;@ToString
@Data
public class Pet {private String name;private Double weight;
}

控制层


import com.atguigu.boot.bean.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@AutowiredPerson person;@RequestMapping("/person")public Person person(){String userName = person.getUserName();System.out.println(userName);return person;}
}

启动类

package com.test.springboot.springboot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringbootHelloworld2Application {public static void main(String[] args) {SpringApplication.run(SpringbootHelloworld2Application.class, args);}}

输出结果

{"userName":"zhangsan","boss":true,"birth":"2020-12-02T16:00:00.000+00:00","age":18,"pet":{"name":"安居昂","weight":99.89},"interests":["篮球","足球","读书"],"animal":["猫","狗","老虎"],"score":{"chinese98":"","physics90":"","chemistry88":"","politics79":"","hostory88":""},"salarys":[5000.0,888.0],"allPets":{"sick":[{"name":"cat","weight":58.0},{"name":"pig","weight":120.0}],"heakth":[{"name":"dog","weight":122.0}]}}

springboot 配置文件-yaml的用法相关推荐

  1. SpringBoot配置文件-yaml的用法

    配置文件 1.文件类型 1.1.properties 同以前的properties用法 1.2.yaml 1.2.1.简介 YAML 是 "YAML Ain't Markup Languag ...

  2. SpringBoot配置文件yaml书写方式

    SpringBoot配置文件yaml书写方式 学习目标 SpringBoot配置文件yaml书写方式 1.properties 2.yaml 2.1.简介 2.2.基本语法 2.3.数据类型 代码示例 ...

  3. SpringBoot配置文件YAML配置注入(详解)

    目录 一.SpringBoot配置文件 1. SpringBoot默认配置文件 2. 配置文件的作用 3. 配置文件的位置 4. 多环境切换 方式一:多配置文件 方式二:一个配置文件(yaml的多文档 ...

  4. SpringBoot配置文件YAML

    一.简介 SpringBoot使用一个全局的配置文件,配置文件名是固定的,主要有两种格式:properties和yml application.properties application.yml 配 ...

  5. 【YAML】YAML语言|YAML配置文件|YAML库用法|相比json的区别优势

    目录 YAML简介 官方定义 我的理解 基本的语法结构 1. 当数据类型是字面量 2.当数据类型是对象.键值对的集合 3.当数据类型是数组.一组按次序排列的值 YAML库编译与使用 库的下载与编译安装 ...

  6. Spring-Boot配置文件.yaml和.yml格式

    .ymal和yml配置文件 一.yaml文件介绍 二.yaml不同类型写法 String(字符串默认不加引号,单引号会转义特殊字符) 布尔 数值 小数 日期(yyyy/MM/dd HH:mm:ss) ...

  7. springboot的yaml属性配置文件注入

    SpringBoot中默认的从application.properties文件中加载参数 我们通常把springboot中资源目录下的application.properties文件改成applica ...

  8. springboot配置文件加载顺序

    1.同一目录下,properties配置优先级 > YAML配置优先级. 2.SpringBoot配置文件可以放置在多种路径下,不同路径下的配置优先级有所不同.可放置目录(优先级从高到低) fi ...

  9. apache 配置文件内使用 8080 端口_【SpringBoot 框架】- SpringBoot 配置文件

    一.SpringBoot配置文件类型 SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话 ,就可以自己编写配置文件进行相应配置,起步依赖spring-bo ...

最新文章

  1. DLL文件无法删除怎么解决
  2. 字节输入流一次读取多个字节
  3. python调用计算器卡死_Python+tkinter使用40行代码实现计算器功能
  4. Port already in use: 1099;
  5. Java NIO学习篇之StandardOpenOption详解
  6. 如何判断模糊图像_深圳企业宣传片拍摄制作教你如何使用手动聚焦
  7. 【转】【JLINK下载失败,STLINK下载失败万能解决方案】JLINK和STLINK都无法下载时的解决办法,此时芯片并没有报废...
  8. 无约束最优化(二) 共轭方向法与共轭梯度法
  9. 自创解决键盘最后退出的问题
  10. Vs2010 Qt插件安装教程
  11. 出现HTTPS证书错误原因
  12. 我从来都不是什么好人——脚本小子智斗绿茶小妹
  13. Oracle常見問題查詢
  14. typescript 的认识3
  15. 苹果出现长方形透明框_衢州a4亚克力框
  16. 计算机电子极域控制,极域电子教室控制软件操作手册
  17. matlab用双重循环实现费诺编码
  18. Oracle APEX:APEX 流程的工作流管理器
  19. 我的世界java启动程下载_我的世界java启动器下载
  20. 致远小场景方案之从外部推送待办

热门文章

  1. 01、静态工厂方法替代构造器
  2. [SoapUI] context.expand 和 groovyUtils.getXmlHolder 有什么不一样
  3. ServerSocketChannel的使用例子
  4. 【Python】一句话 if else 简洁写法
  5. 一个简单的Hook demo
  6. 从mediaserver入手快速理解binder机制(最简单理解binder)
  7. android之读取相册照片并显示
  8. webgis之Openlayer加载wmts服务
  9. Win7电脑中毒解决过程复盘
  10. sobel算子_边缘检测算法4.-教你动手实现kirsch和robinson算子