二、yaml格式

1、基本语法

    key: value(注意value前面有空格)

    String 类型不用加"" 或''

    ""会转义特殊字符(eg: name: "zhangsan \n lisi"会换行输出lisi            name: 'zhangsan \n lisi' 会直接输出zhangsan \n lisi)

2、值的写法

    字面量:普通的值(数字,字符串,日期) eg: name: lisi

    对象,map(键值对)

   eg:   person:

                name: lisi

                age: 20

   行内写法 eg: person: {name: lisi,age: 20}

   数组 (list,set)

   eg:  pets:

            -cat

            -pig

   行内写法: eg; pets: [cat,pig]

3、@Value和@ConfigurationProperties区别

  @Value:单个属性指定(复杂类型比如map也不支持),松散绑定,spel不支持,JSP303数据校验支持

  @ConfigurationProperties:可批量指定,不支持松散绑定,spel支持,JSP303数据校验不支持支持

4、@PropertySource(value={"classpath:person.properties"})

     导入指定位置的属性文件,只能是.properties。yml不能绑定属性

5、配置文件占位符

    person.firstname=lisiaaabbbccc
    person.age=${random.int}
    person.dog.name=${person.firstname}_hahah
    person.dog.name2=${person.name}//如果person.name这个没有就用${person.name:anmess},前文可以没有person.name      配置,person.dog.name2=${person.name:aaaa}如果person.name这个没有就用aaaa,相当于配置默认值aaaa

6、Profile

    (1)多profile配置

           在主配置文件可以创建多个application-{profile}.properties/yml,适应不同环境,然后在application.properties进行指定                    {profile}  eg:spring.profiles.active=dev [会使application-dev.properties配置文件生效]

           默认使用application.properties/yml

           通过java -jar XXX.jar --spring-profiles.active=dev在打包时设置端口

     (2)yml支持多文档块

server:
  port: 8443 //不适用配置时,默认使用
spring:
  profiles:
    active: dev//使用dev配置的port       
---
server:
  port: 8886
spring:
  profiles: dev  //配置dev环境时的port
---
server:
  port: 8885
spring:
  profiles: prod //配置prod环境时的port

7、配置文件加载顺序

   springboot会自动扫描application.properties/yml/yaml作为默认配置可以配置在如下位置

  -file:/config/  当前项目名下的config目录

  -file:  /      当前项目名下

  -classpath:/config 默认的resource文件夹下的config文件夹 

  -classpath:/ 默认的resource文件夹下

  优先级由上往下,高优先级会覆盖低级别的,四个位置的都会加载,互补配置

  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值