读取yaml单一属性数据 yamI文件中的变量引用 读取yaml全部属性数据 读取yam引用类型属性数据
文章目录
- 1.yaml数据格式
- 字面值表示方式
- 数组表示方式
- 实例
- 总结
- 2.读取yaml单一 属性数据
- 3.yaml文件中的变量引用
- 4.读取yaml全部属性数据
- 5.读取yaml引用类型属性数据
1.yaml数据格式
字面值表示方式

数组表示方式
在属性名书写位置的下方使用减号作为数据开始符号,每行书写一个数据,减号与数据间空格分隔

实例
country: China
province: jinan
city: heze
area: lichengparty: truebirthday: 1949-10-01user:name: lisanage: 24
user1:name: zhangsanage: 23a:b:c:d:f:age: 234
likes:- gema- sleep- music
likes2: [gema,music,sleep]users1:-name: lisiage: 56-name: zhangsanage: 90
user2: [{name:zhangsan,age:56},{name:lisi,age:67}]
总结
yaml语法规则:
大小写敏感
属性层级关系使用多行描述,每行结尾使用冒号结束
使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
核心规则:数据前面要加空格与冒号隔开
2.读取yaml单一 属性数据
package com.sdjzu.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;//Rest模式
@RestController
@RequestMapping("/books")
public class BookController {//获取yaml单一属性的数据//定义一个变量@Value("${country}")private String country1;@Value("${user.name}")private String user1;@Value("${likes[2]}")private String likes1;@Value("${users1[1].age}")private String users10;@GetMappingpublic String getById(){System.out.println("Hello SpringBoot2官网");System.out.println("country1 = " + country1);System.out.println("user1 = " + user1);System.out.println("likes1 = " + likes1);System.out.println("users10 = " + users10);return "Hello SpringBoot2官网";}
}

3.yaml文件中的变量引用
4.读取yaml全部属性数据
5.读取yaml引用类型属性数据
自定义对象封装指定数据的作用
#创建类,用于封装下面的数据
#由spring帮我们去加载数据到对象中,一定 要告诉spring加载这组信息
#使用时候从spring中直接获取信息使用
datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTCusername: rootpassword: root
package com.sdjzu;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;//1.定义数据模型封装yamL.文件中对应的数据
//2.定义为spring管控的bean
@Component
//3.指定加载的数据
@ConfigurationProperties(prefix = "datasource")public class MyDataBase {private String driver;private String url;private String username;private String password;@Overridepublic String toString() {return "MyDataBase{" +"driver='" + driver + '\'' +", url='" + url + '\'' +", username='" + username + '\'' +", password='" + password + '\'' +'}';}public String getDriver() {return driver;}public void setDriver(String driver) {this.driver = driver;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}
测试
MyDataBase{driver='com.mysql.cj.jdbc.Driver', url='jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC', username='root', password='root'}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
