yml语法及注入@Value和@ConfigurationProperties复习

基本语法

  • k:(空格)v:表示一对键值对
  • v:包含上面举的数据
  • k:string类型

demo

test:
  name: 小李
  age: 15

v:基本类型:数字,字符串,布尔

字符串默认不用加上单引号或者双引号
如果字符串包含空格或者特殊字符(例如冒号),需要加引号
双引号不会对串中转义字符进行转义

  • "":双引号:不会转义字符串里面的特殊字符; 特殊字符会作为本身想表示的意思; 如 :name: "zhangsan \n lisi":输出;zhangsan 换行 lisi
  • '':单引号:转义特殊字符 特殊字符终只是一个普通的字符串数据 , 如: name: 'zhangsan \n lisi':输出;zhangsan \n lisi

多行字符串可以用| 保留换行
#实际值为 line1换行line2换行line3换行

str: |
 line1
 line2
 line3

|+ 保留块尾换行
#实际值为 line1换行line2换行line3换行换行换行

str: |+
 line1
 line2
 line3

other: ...

|- 删除串尾换行
#实际值为 line1换行line2换行line3

str: |-
 line1
 line2
 line3

other: ...

对象、Map(属性和值)(键值对):

demo

friends: 
 	lastName: zhangsan          
 	age: 20
 ## 行内写法:friends: {lastName: zhangsan,age: 18}

数组(List、Set):

-值表示数组中的一个元素

 pets:  
	‐ cat  
	‐ dog  
	‐ pig
 # 行内写法 pets: [cat,dog,pig]

注入yml中的值@Value@ConfigurationProperties

spring:
  test: 小猪
  #list<map>
  testList:
    -
      name: 小王
      age: 12
    -
      name: 小李
      age: 13
  # map<String,String>
  testMap:
    name: 小朱
    age: 14
testname: 小明

@Value使用demo

package com.example.demo.yml;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
* value 的使用
*/

@Component
public class ValueTest {

 // 直接赋值
 @Value("小李")
 private  String name;

 @Value("1")
 private int num;

 //读取配置文件的信息
 @Value("${spring.testMap.name}")
 private String name2;

 @Value("${spring.test}")
 private String name1;
 //报错
 //@Value("${spring.testMap}")
 private Map<String,String> map;

 //使用SpEL
 @Value("#{1+1}")
 private int num1;

}

使用@ConfigurationProperties注入demo

package com.example.demo;

import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;

import javax.validation.constraints.Size;
import java.util.List;
import java.util.Map;

@Data
@Component
@ConfigurationProperties(prefix = "spring")
@Validated
public class TestConfigurationProperties {
    private List<Map> testList;
    private Map<String,String> testMap;

    private String name;

    private String test;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值