zoukankan      html  css  js  c++  java
  • (三)SpringBoot之配置文件详解:Properties和YAML

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

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

    二、配置随机值

    1. roncoo.secret=${random.value}   32位随机数
    2. roncoo.number=${random.int}
    3. roncoo.bignumber=${random.long}
    4. roncoo.number.less.than.ten=${random.int(10)}
    5. roncoo.number.in.range=${random.int[1024,65536]}

    读取使用注解:@Value(value = "${roncoo.secret}")

    出现黄点提示,是要提示配置元数据可以不配置

    三、属性占位符

    • application.properties里的值被使用时,它们会被存在的Environment过滤,所以你能够引用先前定义的值(比如,系统属性)。

    roncoo.name=www.roncoo.com

    roncoo.desc=${roncoo.name} is a domain name

    •  引用@Value(value = "${roncoo.desc}")  该值为www.roncoo.com is a domain name

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

    1. 当前目录下的一个/config子目录优先级最高

    2. 当前目录

    3. 一个classpath下的/config包

    4. classpath根路径(root)

    • 这个列表是按优先级排序的(列表中位置高的将覆盖位置低的

     

    • Config/applicaton.properties会覆盖 /applicaton.properties 相同的配置,如果不是相同的配置则都会加载并生效。

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

    • #端口配置

    server.port=8090

    • #时间格式化

    spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

    • #时区设置

    spring.jackson.time-zone=Asia/Chongqing

    六. 使用YAML代替Properties

    注意写法:冒号后要加个空格

  • 相关阅读:
    騎士宣言
    [洛谷P1631] 序列合并
    [HNOI2006]公路修建问题
    [洛谷2068] 统计和
    [洛谷P1168] 中位数
    【模板】可持久化数组(可持久化线段树/平衡树)
    【模板】可持久化线段树 1(主席树)
    [JSOI2008]最大数maxnumber
    NOI导刊2010提高(06) 黑匣子
    [洛谷1533] 可怜的狗狗
  • 原文地址:https://www.cnblogs.com/shyroke/p/8017081.html
Copyright © 2011-2022 走看看