我想知道如何在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
进行一些研究,但找不到任何东西吗?可能吗?如果可以,我该怎么办?
答案 0 :(得分:0)
Spring不具有与Guice FactoryModuleBuilder相同的功能。最接近的等效项是Spring @Configuration类,它提供一个实现工厂接口的工厂bean,该工厂接口的方法接受应用程序中的任意参数。 请参考以下链接了解详细信息: What is the Spring equivalent to FactoryModuleBuilder, @AssistedInject, and @Assisted in Guice?