将配置传递/注入到 PropertyValueConverter 实现中

问题描述 投票:0回答:1

我希望能够将运行时配置参数传递/注入到

PropertyValueConverter
中,并且正在努力寻找一种干净的方法来实现它。

在这种特殊情况下,该属性是字符流(提供者),我希望能够在运行时设置字节长度限制(每个字段)。

@Field(type = FieldType.Text)
@ValueConverter(CompactingInputStreamProviderConverter::class)
var fullText: (() -> InputStream)?

如果

PropertyValueConverter
可以是一个 bean,并且我可以使用 Spring DI 来获取其中的配置,并且如果有关该字段的信息暴露给它,那就太好了。

spring-data-elasticsearch
1个回答
0
投票

您可以配置 bean 感知的 PropertyValueConverterFactory 以在 PropertyValueConverters 中启用 DI:

@Bean
public MongoCustomConversions mongoCustomConversions(ApplicationContext appContext) {
    return MongoCustomConversions.create(configurer -> {
        SimplePropertyValueConversions valueConversions = new SimplePropertyValueConversions();
        valueConversions.setConverterFactory(PropertyValueConverterFactory.beanFactoryAware(appContext));
        configurer.setPropertyValueConversions(valueConversions);
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.