标签:配置文件 Spring boot private Person springframework Boot org import
文章目录
YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup
Language”(仍是一种标记语言)。
一、基本语法格式
-
key: value;kv之间有空格
-
大小写敏感
-
使用缩进表示层级关系;缩进不允许使用tab,只允许空格;缩进的空格数不重要,只要相同层级的元素左对齐即可
-
’#'表示注释
-
字符串无需加引号,如果要加,’'与""表示字符串内容 会被 转义/不转义
二、数据类型
- 字面量:单个的、不可再分的值。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.Person类
package com.zyx.boot.bean;
import lombok.Data;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Data
@ToString
@Component
@ConfigurationProperties(prefix = "person") // 与配置文件中前缀为person的绑定
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> salary;
private Map<String, List<Pet>> allPets;
}
2.Pet类
package com.zyx.boot.bean;
import lombok.Data;
import lombok.ToString;
@Data
@ToString
public class Pet {
private String name;
private Double weight;
}
3.yaml配置文件
# yaml表示以上对象
person:
# 字面量
userName: zhangsan
boss: false
birth: 2019/12/12 20:12:33
age: 18
# 对象
pet:
name: tomcat
weight: 23.4
# 数组
interests: [篮球,游泳]
animal:
- jerry
- mario
# Map
score:
# key
english:
# value是数组
first: 30
second: 40
third: 50
math: [131,140,148]
chinese: {first: 128,second: 136}
# Set
salarys: [3999,4999.98,5999.99]
#Map
allPets:
sick:
- {name: tom}
- {name: jerry,weight: 47}
health: [{name: mario,weight: 47}]:
4.Controllor层
package com.zyx.boot.controller;
import com.zyx.boot.bean.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class PersonController {
@Autowired
Person person;
@RequestMapping("/person")
@ResponseBody
public Person showPerson(){
return person;
}
}
运行服务:可以看到在yaml配置中的属性值,都被赋到了Person对象中去了~
四、自定义类的配置提示
<!-- 配置自定义类提示 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- 打包时排除配置器 -->
<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>
标签:配置文件,Spring,boot,private,Person,springframework,Boot,org,import 来源: https://blog.csdn.net/qq_45797116/article/details/116402829
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。