4.SpringBoot配置yaml数据格式&&获取方式

一、配置yaml数据格式

#对象:键值对的集合
person:
  name: zhangsan
  age: 20

#行内写法
person2: {name: zhangsan,age: 20}

#数组
address:
  - 北京
  - 上海

#行内写法
address2: [北京,上海]

#纯量:单个的,不可再分的
msg1: 'hello\n world'  #单引号忽略转义字符
msg2: "hello\n world"  #双引号识别转义字符

参数引用:

name: zhangsan

book:
  name: {name} #zhangsan

二、获取方式

1.获取方式一

读取配置文件-@Value

@RestController
public class TestController {

    @Value("${name}")
    private String name;

    @Value("${person.name}")
    private String name2;

    @Value("${person.age}")
    private int age;


    @Value("${address[0]}")
    private String address1;

    @Value("${msg1}")
    private String msg1;

    @Value("${msg2}")
    private String msg2;


    @RequestMapping("/test1")
    public String test1(){
        System.out.println(name);
        System.out.println(name2);
        System.out.println(age);
        System.out.println(address1);
        System.out.println(msg1);
        System.out.println(msg2);
        return "Hello~SpringBoot!!!";
    }

}

运行结果:

2.获取方式二

Environment获取属性值

Environment是用来读取应用程序运行时的环境变量的类,可以通过key-value的方式读取application.properties和系统环境变量,命令行输入参数,系统属性等

@RestController
public class TestController {

    @Autowired
    private Environment env;
    
    @RequestMapping("/test1")
    public String test1(){
        System.out.println(env.getProperty("person.name"));
        System.out.println(env.getProperty("address[0]"));
        System.out.println(env.getProperty("person.age"));
        return "Hello~SpringBoot!!!";
    }

}

运行结果:

3.获取方式三

读取配置文件属性- @ConfigurationProperties

使用@ConfigurationProperties首先建立配置文件与对象的映射关系,然后在控制器方法中使用@Autowired注解将对象注入。具体如下:

@Component//被spring所识别,是一个bean
@ConfigurationProperties(prefix = "person")
public class Person {

    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
@RestController
public class TestController {
    @Autowired
    private Person person;

    @RequestMapping("/test1")
    public String test1(){
        System.out.println(person);
        System.out.println(person.getName());
        return "Hello~SpringBoot!!!";
    }

}

运行结果:

以上就是Springboot的配置数据与获取数据的方式


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个双子座的Java攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值