什么是Spring boot的@Assisted版本



我想知道如何在 Java 中将 Guice 的 @Assisted 注释转换为 Spring boot。例如,我有以下代码:

@Inject
public Merge(@Named(Conf.MkvFields.CHAININPUT_DELAY) String chainInputDelay,
    @Named(Conf.MkvFields.REAL_TIME_PROCESSING),
    @Assisted MergeDefinition mergeDefinition) {

例如,您将拥有:

public interface MergeFactory { 
    public Merge createMerge(@Assisted MergeDefinition mergeDefinition);    
}

然后你会有:

        install(new FactoryModuleBuilder().build(MergeFactory.class));

和:

mergeFactory.createMerge(mergeDefinition));

我知道如何转换@Inject@Named,但我一直在对@Assisted进行一些研究,但找不到任何东西?可能吗?如果是这样,我该怎么办?

Spring 没有等价物 Guice FactoryModuleBuilder。最接近的等价物是 Spring @Configuration 类,它提供了一个工厂 Bean,该 Bean 实现了一个工厂接口,其方法接受来自应用程序的任意参数。详情请参阅以下连结:Spring相当于Guice中的FactoryModuleBuilder,@AssistedInject和@Assisted吗?

相关内容

  • 没有找到相关文章

最新更新