Я настроил разделяемую библиотеку, чтобы иметь возможность внедрить разработанную функциональность из коробки в мой веб-сервис.
@Configuration
@ComponentScan({
"common.logging.restapi.service",
"common.logging.restapi.interceptor",
})
@Slf4j
public class WebRestApiStopWatchConfiguration implements WebMvcConfigurer {
@Autowired
private RestLoggingInterceptor restLoggingInterceptor;
@PostConstruct
public void post() {
log.info("WebRestApiStopWatchConfiguration post constructor.");
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
log.info("adding interceptor(s).");
registry.addInterceptor(restLoggingInterceptor);
}
}
продемонстрировал, что часть кода работает отлично, если нет больше веб-конфигураций.В случае, если я пытаюсь добавить библиотеку в приложение, где присутствует другая конфигурация (например, веб-конфигурации swagger),
@Configuration
@EnableSwagger2
@Slf4j
public class SwaggerConfiguration extends WebMvcConfigurationSupport {
метод addInterceptors(InterceptorRegistry registry)
никогда не используется во время конфигурации.
Вопрос
В общем мне интересна автоматическая регистрация некоторых кастомов HandlerInterceptor
с.Учитывая этот конкретный случай, мне нужно сделать загрузку WebRestApiStopWatchConfiguration.#addInterceptors
без инъекций в проектах, где внедряется библиотека.