当前位置: 首页 > 知识库问答 >
问题:

如何预处理来自spring配置文件的值?

吴鸿禧
2023-03-14
@Component
@ConfigurationProperties(prefix="myconfig")
public class StorageServiceProperties {
   private Long defaultSize;
   //...getters and setters
}

那么,我该如何应用一个方法将字符串值转换为long呢?

共有1个答案

段干高歌
2023-03-14

您不能在属性到属性的基础上应用此类通用转换器。您可以注册一个从String到Long的转换器,但是对于每一种情况都会调用它(基本上是Long类型的任何属性)。

@configurationproperties的目的是将环境映射到更高级别的数据结构。也许你可以在那里做?

@ConfigurationProperties(prefix="myconfig")
public class StorageServiceProperties {
    private String defaultSize;
    // getters and setters

    public Long determineDefaultSizeInBytes() {
        // parsing logic
    }

}

如果您查看Spring Boot中的multipart支持,我们保留字符串值,并使用@configurationproperties对象创建负责解析的MultipartConfigElement。这样,您就可以在代码和配置中指定这些特殊值。

 类似资料:
  • 虽然我知道最好的方法是使用去年夏天发布的闪亮的JSON item reader devs(link),但要将批处理版本更新到最新版本还不可行。这是唯一的限制。 到目前为止,我遵循了这个堆栈答案,但我不认为将作为使用是最佳策略!到目前为止,我只是用下面的代码来理解它: ...然后在项目处理器中简单地解析它,比如: Spring Batch:如何设置FlatItemFileReader以读取JSON文

  • 我正在使用Spring批处理设置一个作业服务器。我的JdbcCursorItemReader需要配置sql,该sql在每个作业运行的基础上进行更改。因为sql发生了变化,所以我希望阅读器具有@stepscope,这样我就不需要担心sql的状态性了。 所以我设置了这样一个类: 我在整个服务器上使用基于Java的配置。ItemReader的一个实例的bean如下所示: 启动服务器并运行Spring批处

  • Java版本:8 Spring启动版本:2.4.1 Spring Cloud Version:2020.0.0,具体来说,我使用连接到GIT的Spring Cloud Config服务器,我们的服务是Spring Cloud Config客户机。 配置服务器中的配置如下所示: yml(有两个文档由---分隔) my-rest-sercive.yml(有两个文档由---分隔) null 与Sprin

  • 我一直在研究Spring集成文件支持,在这里我需要将文件从输入目录移动到输出目录。成功地将其移动到输出目录后,应该将其归档,然后从输入目录中删除。我正在使用下面的配置来实现这一点。 请纠正我,如果我的配置可以更好的方式。 Spring集成配置: 我在服务激活器中有代码,如果归档目录不可用,它应该终止应用程序。因此,在运行应用程序时,在第一次移动文件后,我已经删除了归档目录。然后,我将新文件放置在i

  • 关于颜色配置文件 精确、一致的色彩管理要求所有的颜色设备具有准确的符合 ICC 规范的配置文件。例如,如果没有准确的扫描仪配置文件,一个正确扫描的图像可能在另一个程序中显示不正确,这只是由于扫描仪和显示图像的程序之间存在差别。这种产生误导的表现可能使您对已经令人满意的图像进行不必要的、费时的、可能是破坏性的 “校正 ”。利用准确的配置文件,导入图像的程序能够校正任何设备差别并显示扫描的实际颜色。