我已配置共享库,以便有机会将开发的功能立即投入我的Web服务中。
@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);
}
}
如果没有更多的Web配置,则所示的代码部分将完美工作。万一我尝试将库添加到存在其他配置的应用程序中(例如,交错的Web配置)
@Configuration
@EnableSwagger2
@Slf4j
public class SwaggerConfiguration extends WebMvcConfigurationSupport {
方法addInterceptors(InterceptorRegistry registry)
从未在配置时使用。
总的来说,我很有趣地自动注册了一些自定义HandlerInterceptor
。考虑到这种具体情况,我需要在注入库的项目中进行WebRestApiStopWatchConfiguration.#addInterceptors
的加载而无需注入。