目录
定义计量的单位
一 注解写法
1 时间单位Duration : @DurationUnit(ChronoUnit.HOURS)
2 大小单位DataSize : @DataSizeUnit(DataUnit.MEGABYTES)
代码
package com.qing.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.convert.DataSizeUnit;
import org.springframework.boot.convert.DurationUnit;
import org.springframework.util.unit.DataSize;
import org.springframework.util.unit.DataUnit;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
@Data
@ConfigurationProperties(prefix = "servers")
//@Component
public class ServerConfig {
private String IPAddrEss;
private int port;
//1 Duration默认单位是ms
private Duration timeout;
//配置Duration单位为周
@DurationUnit(ChronoUnit.HOURS)
private Duration serverTimeOut;
//2 DataSize默认单位是byte
private DataSize dataSize;
//配置DataSize单位为MB
@DataSizeUnit(DataUnit.MEGABYTES)
private DataSize dataSizeCustom;
}
总结
*二 简易写法
也可以不用这两个注解@DurationUnit@DataSizeUnit,直接在配置文件写单位,但前提是类中属性类型要写Duration和DataSize