превратить отсканированный класс компонента в фабричный бин - PullRequest
0 голосов
/ 05 июля 2019

С реализацией FactoryBean, которая позволяет регистрировать обратные вызовы инициализации в другом месте кода:

@Bean fun documentSettings(): CustomizingFactoryBean<DocumentSettings> = 
                                               CustomizingFactoryBean.create()

@Bean fun documentSettingsCustomizerA(): Customizer<DocumentSettings> = Customizer { 
   settings -> settings.someVal = 1
}

@Bean fun documentSettingsCustomizerB(): Customizer<DocumentSettings> = Customizer { 
   settings -> settings.otherVal = 2
}

это создаст экземпляр DocumentSettings с обоими Customizer запусками.

Чего я хотел бы добиться, так это пропустить регистрацию CustomizingFactoryBean<DocumentSettings> и полагаться на компонентное сканирование:

@CustomizableComponent
class DocumentSettings( var someVal: Int, var otherVal: Int)

Создать ли для этого пользовательский BeanFactoryPostProcessor?

Должен ли я подключиться к существующей системе обработки @Service, @Component, @Repository?

...