当前位置:   article > 正文

SpringBoot 官方文档示例:(30)application.properties中java.time.Duration类型的注入_properties duration

properties duration

一、定义配置类:

package cn.edu.tju.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.convert.DurationUnit;
import org.springframework.context.annotation.Configuration;

import java.time.Duration;
import java.time.temporal.ChronoUnit;

@Configuration
@ConfigurationProperties("my.test")
public class AppConfig7 {
    //如果不加这个注解,默认单位是毫秒
    @DurationUnit(ChronoUnit.SECONDS)
    private Duration duration;

    public Duration getDuration() {
        return duration;
    }

    public void setDuration(Duration duration) {
        this.duration = duration;
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

二、在application.properties中配置

my.test.duration=10
  • 1

其中配置的值可以有3种格式:

30, PT30S and 30s
  • 1

其中第一种是与配置类中@DurationUnit注解指定的时间单位结合,
第二三种忽略配置类中@DurationUnit(ChronoUnit.SECONDS)中指定的时间单位。
例如配置类中如下配置:

    @DurationUnit(ChronoUnit.MILLIS)
    private Duration duration;
  • 1
  • 2

application.properties中如下配置
my.test.duration=10
my.test.duration=10s
my.test.duration=PT10S
分别表示10毫秒, 10秒,10秒

默认单位是毫秒,如果不加@DurationUnit则单位为毫秒。
可用单位如下:
• ns for nanoseconds
• us for microseconds
• ms for milliseconds
• s for seconds
• m for minutes
• h for hours
• d for days

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/157186?site
推荐阅读
相关标签
  

闽ICP备14008679号