我想知道如何在 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吗?