配置文件
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
kv
●对象:键值对的集合。map、hash、set、object
行内写法: kk1v1k2:v2k3:v3#或k k1v1 k2v2 k3v3
●数组:一组按次序排列的值。array、list、queue
行内写法: kv1v2v3#或者kv1 v2 v3
1.2.4、示例
publicclassPerson { privateStringuserName; privateBooleanboss; privateDatebirth; privateIntegerage; privatePetpet; privateString[] interests; privateList<String>animal; privateMap<String, Object>score; privateSet<Double>salarys; privateMap<String, List<Pet>>allPets; } publicclassPet { privateStringname; privateDoubleweight; }
# yaml表示以上对象person userNamezhangsan bossfalse birth2019/12/12 201233 age18 pet nametomcat weight23.4 interests篮球游泳 animaljerry mario score english first30 second40 third50 math131140148 chinesefirst128second136 salarys39994999.985999.99 allPets sicknametomnamejerryweight47 healthnamemarioweight47
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>