Spring Boot -- 配置文件详解:Properties 和 YAML

桃扇骨 2022-05-30 05:26 342阅读 0赞

配置文件的生效顺序,会对值进行覆盖

  1. @TestPropertySource 注解
  2. 命令行参数
  3. Jave 系统属性(System.getProperties())
  4. 操作系统环境变量
  5. 只有在 random.* 里包含的属性会产生一个 RandomValuePropertySource
  6. 在打包的 jar 外的应用程序配置文件(application.properties,包含 YAML 和 profile 变量)
  7. 在打包的 jar 内的应用程序配置文件(application.properties,包含 YAML 和 profile 变量)
  8. 在 @Configuration 类上的@PropertySource 注解
  9. 默认属性(使用 SpringApplication.setDefaultproperties指定)

配置随机值

oktfolio.secret=${random.value}

oktfolio.number=${random.int}

oktfolio.bignumber=${random.long}

oktfolio.number.less.than.ten=${random.int(10)}

oktfolio.number.in.range=${random.int[1024,65536]}

读取使用注解:@Value(value = “${oktfolio.secret}”)

注:出现黄点提示,提示配置元数据,可以不配置

属性占位符

当 application.properties 里的值被使用时,它们会被存在的 Environment 过滤,所以你能够引用先前定义的值(比如,兄属性)
oktfolio.name = www.oktfolio.me
oktfolio.desc= ${oktfolio.name} is a domain name

Application 属性文件,按优先级排序,位置高的将覆盖位置低的

  1. 当前目录下的一个 /config 子目录
  2. 当前目录
  3. 一个 classpath 下的 /config 包
  4. classpath 根路径(root)

配置应用端口和其他配置的介绍

  1. #配置端口
  2. server.port=8090
  3. #事件格式化
  4. spring.jackson.date-format=yyyy-MM-dd HH:mm:ss'
  5. #时区设置
  6. spring.jackson.time-zone=Asia/Chongqing

使用 YAML 代替 Properties

注意写法:冒号后要价格空格

发表评论

表情:
评论列表 (有 0 条评论,342人围观)

还没有评论,来说两句吧...

相关阅读