Я пишу стартовую загрузку, которая направлена на автоматическую настройку перехватчиков для обработчиков. Основной класс выглядит следующим образом:
@Configuration
@ConditionalOnWebApplication
@EnableConfigurationProperties(MetricsProperties.class)
public class MetricsConfiguration implements WebMvcConfigurer {
private static Logger logger = LoggerFactory.getLogger(MetricsConfiguration.class);
private final MetricsProperties metricsProperties;
public MetricsConfiguration(MetricsProperties properties) {
this.metricsProperties = properties;
}
@Bean
@Order(0)
public MetricsCenter createMetricsCenter() {
MetricsCenter metricsCenter = MetricsCenter.getInstance();
metricsCenter.init(metricsProperties);
return metricsCenter;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
logger.error("alex add"); // the log does not appear!!
registry.addInterceptor(new MetricsInterceptor());
}
}
согласно документу
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc-auto-configuration
что говорит:
Если вы хотите сохранить функции Spring Boot MVC и добавить дополнительную конфигурацию MVC (перехватчики, средства форматирования, контроллеры представления и другие функции), вы можете добавить свой собственный класс @Configuration типа WebMvcConfigurer, но без @EnableWebMvc. Если вы хотите предоставить пользовательские экземпляры RequestMappingHandlerMapping, RequestMappingHandlerAdapter или ExceptionHandlerExceptionResolver, вы можете объявить экземпляр WebMvcRegistrationsAdapter для предоставления таких компонентов.
Я сделал так, как написано в документе, но addInterceptors
не вызывается и мой перехватчик не оснащен пружинным mvc.
Может кто-нибудь помочь мне отсюда, пожалуйста?
ТНХ.