gpt4 book ai didi

java - Spring - 注入(inject) vavr 集合

转载 作者:行者123 更新时间:2023-11-30 01:49:26 31 4
gpt4 key购买 nike

在我的 Spring 项目中,我广泛使用 vavr 中的集合。图书馆。有时我需要注入(inject) bean 集合。据我所知 Spring 只能从 JDK 注入(inject)集合,例如ListSetMap等有没有办法注入(inject)vavr集合?我想做这样的事情:

@Component
class NameResolver {

@Autowired
io.vavr.collection.List<NameMatcher> matchers; // how to make it work?
}

最佳答案

您是正确的,Spring 仅支持注入(inject) Spring bean 的 JDK 集合。您可以使用 @Configuration 类中的一种bridge @Bean 工厂方法来解决此问题,类似于:

import io.vavr.collection.List;
import java.util.Collection;

...

@Bean
public List<NameMatcher> vavrMatchers(Collection<NameMatcher> matchers) {
return List.ofAll(matchers);
}

通过上面的内容,您创建了一个 vavr List,它也是一个 Spring bean,因此您可以@Autowire 将其添加到其他 Spring bean 中。它使您无需在注入(inject)站点进行包装,因此您只需为每个 Bean 集合执行一次,而不是为每个 @Autowired 注入(inject)站点执行一次。

关于java - Spring - 注入(inject) vavr 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56579572/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com