当前位置: 首页> 教育> 培训 > 禅城网站制作_虚拟主机建站教程_宁波seo推荐_销售网络平台推广

禅城网站制作_虚拟主机建站教程_宁波seo推荐_销售网络平台推广

时间:2025/7/13 7:28:03来源:https://blog.csdn.net/feiying0canglang/article/details/128115192 浏览次数:0次
禅城网站制作_虚拟主机建站教程_宁波seo推荐_销售网络平台推广

原文网址:SpringBoot--yml配置文件的时间/大小的单位转换_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍SpringBoot的yml(properties)配置文件的时间/大小的单位转换。

概述

SpringBoot可以将yml中的配置绑定到一个Java类的字段,而且支持单位的转换。以时间为例,yml中指定为2m,则可以用Duration来接收这个字段,接收到的字段值为3分钟。

注意

本处的单位转换支持配置放到一个类中,也支持@Value等。

时间的转换

概述

Spring 使用 java.time.Duration 类代表时间大小,以下场景适用:

  1. 除非指定 @DurationUnit ,否则一个 long 代表的时间为毫秒。
  2. ISO-8601 标准格式( java.time.Duration 的实现就是参照此标准)
  3. 你也可以使用以下支持的单位(用大写也可以):
    1. ns - 纳秒
    2. us - 微秒
    3. ms - 毫秒
    4. s - 秒
    5. m - 分
    6. h - 时
    7. d - 天

示例

application.yml

custom:monitor:name: myMonitorinterval: 3m

实体类

package com.knife.config;import lombok.Data;import java.time.Duration;@Data
public class MonitorProperty {private String name;private Duration interval;
}

配置类

package com.knife.config;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class MonitorConfig {@ConfigurationProperties(prefix = "custom.monitor")@Beanpublic MonitorProperty monitorProperty() {return new MonitorProperty();}
}

测试类

package com.knife.controller;import com.knife.config.MonitorProperty;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@Autowiredprivate MonitorProperty monitorProperty;@GetMapping("/test")public String test() {return "test success";}
}

测试

打个断点,然后请求:

工具类实例

SpringBoot的转换时间的工具类是:DurationStyle(org.springframework.core.convert.support包)。

示例:

import org.springframework.core.convert.support.DurationStyle;
import java.time.Duration;public class MyApp {public static void main(String[] args) {String durationString = "3m";Duration duration = DurationStyle.SIMPLE.parse(durationString);System.out.println(duration); // 输出 PT3M (3 minutes)}
}

大小的转换

上边是文章部分内容,为便于维护,全文已转移到此网址:SpringBoot-yml配置文件的时间/大小的单位转换 - 自学精灵

关键字:禅城网站制作_虚拟主机建站教程_宁波seo推荐_销售网络平台推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: