美文网首页
Spring Boot配置文件简单介绍

Spring Boot配置文件简单介绍

作者: 泪已沾襟化作鸿 | 来源:发表于2017-11-20 19:00 被阅读0次

    Spring Boot对配置文件支持非常友好,支持*.properties*.yml,前者是常用的配置文件,后者是Spring Boot推荐的配置文件。

    一、Spring Boot支持的配置文件

    Spring Boot支持两种配置文件,一个是常见的.properties格式,另外一个就是专有的.yml或者*.yaml格式。一般两者的命名都是application。

    二、配置随机值

    这里是介绍如何配置随机值等数值,可根据实际情况配置。两种配置方式是等效的,实际选择其中一种即可,推荐使用*.yml

    1)application.properties

    lemon.secret=${random.value}
    
    # 获取一个随机整数
    lemon.number=${random.int}
    
    # 获取一个随机长整数
    lemon.bignumber=${random.long}
    
    # 获取一个随机0~10的随机整数
    lemon.number.less.than.ten=${random.int(10)}
    
    # 获取指定区间范围的随机整数
    lemon.number.in.range=${random.int[1024,65536]}
    

    2)application.yml

    # 配置文件的设置
    # 配置文件中是可以配置随机值的
    lemon:
      secret: ${random.value}
      number: ${random.int}
      bignumber: ${random.long}
      number1:
        less:
          than: ${random.int(10)}
        in:
          range: ${random.int[1,10]}
    

    注意:冒号后面都有一个空格。
    加载Spring Boot应用时,会自动加载配置文件,在controller中获取配置文件中值的方式是通过@Value这个注解,@Value(value = "${lemon.secret}")。

    三、属性占位符

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

    lemon.name=www.cug.edu.cn
    lemon.desc=${lemon.name} is a domain name
    

    yml配置文件中设置方法一致。

    四、其他属性配置

    # 端口配置
    server.port=8090
    
    # 时间格式化
    spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
    
    # 时区设置
    spring.jackson.time-zone=Asia/Chongqing
    

    这是配置一些常见的公共属性。yml格式的配置文件配置如下:

    # 端口配置
    server:
      port: 8080
    
    # 时区和时间格式化
    spring:
      jackson:
        date-format: yyyy-MM-dd HH:mm:ss
        time-zone: Asia/Chongqing
    

    五、多文件配置

    1、多环境配置文件的好处:
    1)不同环境配置可以配置不同的参数
    2)便于部署,提高效率,减少出错

    2、Properties多环境配置
    1)配置激活选项 spring.profiles.active=dev,可以修改值来确定不同的环境配置
    2)添加其他配置文件
    application.properties
    application-dev.properties
    application-test.properties
    application-pro.properties
    更改激活选项,就可以加载激活不同的环境配置文件。公共的配置信息可以写在application.properties文件中。

    3、YAML多环境配置

    spring:
      profiles:
          active: pro
      # 时区和时间格式化
      jackson:
        date-format: yyyy-MM-dd HH:mm:ss
        time-zone: Asia/Chongqing
    
    ---
    spring:
      profiles: dev
    # 端口配置
    server:
      port: 8080
    
    ---
    spring:
      profiles: pro
    # 端口配置
    server:
      port: 8081
    
    ---
    spring:
      profiles: test
    # 端口配置
    server:
      port: 8082
    

    更改激活选项的值就可以启动不同的环境配置。不同的配置使用三个横杠(-)区分即可。其实这是一种单文件多配置的一种体现方式。

    4、两种配置方法的比较
    Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件
    书写格式的差异,yaml相对比较简洁,优雅
    YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。

    5、如何使用
    在命令行启动:java -jar myapp.jar --spring.profiles.active=dev

    相关文章

      网友评论

          本文标题:Spring Boot配置文件简单介绍

          本文链接:https://www.haomeiwen.com/subject/mpcbvxtx.html