Что такое версия @Assisted для Spring boot? - PullRequest
0 голосов
/ 01 февраля 2019

Мне интересно, как преобразовать аннотацию Guice @Assisted в загрузочную пружину на Java.Например, у меня есть этот код:

@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, но не могу ничего найти?Является ли это возможным?Если так, как бы я это сделал?

1 Ответ

0 голосов
/ 01 февраля 2019

Spring не имеет эквивалента Guice FactoryModuleBuilder.Ближайшим эквивалентом будет класс Spring @Configuration, который предоставляет фабричный компонент, реализующий фабричный интерфейс, методы которого принимают произвольные аргументы из приложения.Пожалуйста, обратитесь к следующей ссылке для получения подробной информации: Что такое эквивалент Spring для FactoryModuleBuilder, @AssistedInject и @Assisted in Guice?

...