springboot读取配置文件参数(SpringBoot配置文件中如何设置)

Spring Boot 的配置文件经常会出现 Duration 类型的配置项,比如设置redis的一些配置参数。

springboot读取配置文件参数(SpringBoot配置文件中如何设置)(1)

# 定时任务,检查连接池中的连接是否满足至少有 min-idle 的个数,同时,不超过 max-idle 那么多个数。

spring.redis.lettuce.pool.time-between-eviction-runs=60s

#在关闭客户端连接之前等待任务处理完成的最长时间,在这之后,无论任务是否执行完成,都会被执行器关闭,默认100ms

spring.redis.lettuce.shutdown-timeout=100

在指定参数值,可以使用任何支持的时间单位,如下所示:

  • ns 表示纳秒;
  • us 表示微秒;
  • ms 表示毫秒;
  • s 表示秒;
  • m 表示分钟;
  • h 表示小时;

默认的时间单位是微秒(milliseconds),也就是说,如果没有指定时间单位(后缀)就是微秒。

如果是自定义 properties 文件,也可以选择使用 @DurationUnit 注解进行标识默认单位,示例代码如下所示:

import java.time.Duration; import java.time.temporal.ChronoUnit; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConstructorBinding; import org.springframework.boot.context.properties.bind.DefaultValue; import org.springframework.boot.convert.DurationUnit; @ConfigurationProperties("my") @ConstructorBinding public class MyProperties { private final Duration sessionTimeout; private final Duration readTimeout; public MyProperties(@DurationUnit(ChronoUnit.SECONDS) @DefaultValue("30s") Duration sessionTimeout, @DefaultValue("1000ms") Duration readTimeout) { this.sessionTimeout = sessionTimeout; this.readTimeout = readTimeout; } public Duration getSessionTimeout() { return this.sessionTimeout; } public Duration getReadTimeout() { return this.readTimeout; } }

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页