12345678910111213141516171819202122232425262728293031323334353637383940 |
- package com.nokia.request_log.config;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
- import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.web.servlet.DispatcherServlet;
- import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
- import com.nokia.request_log.interceptor.RequestLogHandlerInterceptor;
- import com.nokia.request_log.servlet.RequestLogDispatcherServlet;
- /**
- * 自动配置类,需要在resuources/META-INF/spring.factories文件进行配置
- */
- @Configuration
- @ConditionalOnProperty(name = "request.log.enable", havingValue = "true", matchIfMissing = false)
- public class RequestLogAutoConfiguration implements WebMvcConfigurer {
- /**
- * 添加拦截器
- */
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- // 添加日志拦截器
- registry.addInterceptor(new RequestLogHandlerInterceptor()).addPathPatterns("/**");
- }
- /**
- * 注入自定义的RequestLogDispatcherServlet替代默认的DispatcherServlet
- */
- @Bean
- @Qualifier(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_BEAN_NAME)
- public DispatcherServlet dispatcherServlet() {
- return new RequestLogDispatcherServlet();
- }
- }
|