SpringBoot的配置文件application.yml的一些常用语法

目录

 一、自定义配置数据

(1)配置简单数据

(2)配置对象数据

(3)配置集合数据

二、@Value读取配置文件

三、@ConfigurationProperties读取配置文件


配置文件的后缀可以是yaml或者yml,写法类似于键值形式

 一、自定义配置数据

这些数据都是自己自定义的,自己取名的

(1)配置简单数据

语法:
数据名:值

(注意冒号后面加空格)
举例:

email: ioio

(2)配置对象数据

对象:
   属性名1:值1
   属性名2:值2



举例:
 my:
  address: sd
  school: op

(3)配置集合数据

集合:
   -值1
   -值2

举例:

-后面要加空格
you:
  - beijing
  - anhui
  - tainjin
  
  
list1:
  - name: zhangsan
    age: 18
    sex: male
  - name: lisi
    age: 20
    sex: fmale
  - name: wangwu
    age: 19
    sex: male

二、@Value读取配置文件

@Value只能映射简单数据类型,不能将yml配置文件中的对象,集合映射到属性中去。

@Controller
public class controller {

    @Value("${my.school}")
    private String school;
    @Value("${you[1]}")
    private String ci;
    @Value("${list1[1].name}")
    private String list_name;
    @ResponseBody
    @RequestMapping("/c")
    public String v1(){
        System.out.print(school+" "+ci+" "+list_name);
        return "hello springt";
    }
}

yml配置文件


my:
  address: sd
  school: op

you:
  - beijing
  - anhui
  - tainjin


list1:
  - name: zhangsan
    age: 18
    sex: male
  - name: lisi
    age: 20
    sex: fmale
  - name: wangwu
    age: 19
    sex: male

三、@ConfigurationProperties读取配置文件

通过@ConfigurationProperties(prefifx="对象")可以将配置文件中的配置自动与实体映射,这样就可以将yml文件中配置的对象属性直接映射到Bean中。

说的简单点,比如配置文件写的如下:


user:
  username: lisi
  age: 88
  address:
    - beijing
    - anhui
    - tianjing
  grades:
    - subject: math
      score: 90
    - subject: english
      score: 88

@Controller
@ConfigurationProperties(prefix = "user")
public class MyController1 {
   private String username;
   private int age;
   private List<String> address;
   private  List<grade> grades;

   @ResponseBody
   @RequestMapping("/con")
   public String t1(){
       System.out.println(username);
       System.out.println(age);
       System.out.println(address);
       System.out.println(grades);
       return "sp";
   }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public List<String> getAddress() {
        return address;
    }

    public void setAddress(List<String> address) {
        this.address = address;
    }

    public List<grade> getGrades() {
        return grades;
    }

    public void setGrades(List<grade> grades) {
        this.grades = grades;
    }
}

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菜到极致就是渣

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

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

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

打赏作者

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

抵扣说明:

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

余额充值