【发布时间】:2018-05-30 06:25:06
【问题描述】:
有什么方法可以使用 application.yml 或 application.properties 中的配置来控制 Spring util 包的秒表,以便在需要时切换(打开/关闭)该功能?
附:我知道文档声明它不是为线程安全而设计的,也不打算在生产中使用。
【问题讨论】:
标签: java spring spring-boot jakarta-ee stopwatch
有什么方法可以使用 application.yml 或 application.properties 中的配置来控制 Spring util 包的秒表,以便在需要时切换(打开/关闭)该功能?
附:我知道文档声明它不是为线程安全而设计的,也不打算在生产中使用。
【问题讨论】:
标签: java spring spring-boot jakarta-ee stopwatch
您始终可以使用 spring 管理一个对象,也可以使其有条件,以便该对象是否需要创建。
执行以下操作:
public class StopWatchOnOffCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata arg1) {
return !"false".equalsIgnoreCase(context.getEnvironment().getProperty("stopwatch.enabled"));
}
当您为 StopWatch 创建 bean 时,您可以执行以下操作:
@Conditional(value = { StopWatchOnOffCondition.class })
@Service
public class StopWatchService { ...
}
属性:stopwatch.enabled 将驻留在您的 applicaton.properties 文件中。
阅读更多关于@Conditionalhere
【讨论】: