addInterceptors не вызывается при весенней загрузке 2.1.1 автоконфигурация - PullRequest
0 голосов
/ 15 марта 2019

Я пишу стартовую загрузку, которая направлена ​​на автоматическую настройку перехватчиков для обработчиков. Основной класс выглядит следующим образом:

@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.

Может кто-нибудь помочь мне отсюда, пожалуйста?

ТНХ.

...