配置文件
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 v1 k2 v2 k3 v3
●数组:一组按次序排列的值。array、list、queue
行内写法: k v1 v2 v3#或者k v1 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 userName zhangsan bossfalse birth 2019/12/12 20 1233 age18 pet name tomcat weight23.4 interests 篮球 游泳 animal jerry mario score english first30 second40 third50 math 131 140 148 chinese first128second136 salarys 3999 4999.98 5999.99 allPets sickname tomname jerryweight47 health name mario weight47
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>