1.WebMvcConfigurerAdapter过时的替换方法
Spring 5.0后,WebMvcConfigurerAdapter被废弃,取代的方法有两种:
①implements WebMvcConfigurer(官方推荐)
②extends WebMvcConfigurationSupport
使用第一种方法是实现了一个接口,可以任意实现里面的方法,不会影响到Spring Boot自身的@EnableAutoConfiguration,而使用第二种方法相当于覆盖了@EnableAutoConfiguration里的所有方法,每个方法都需要重写,比如,若不实现方法addResourceHandlers(),则会导致静态资源无法访问,实现的方法如下:
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/META-INF/resources/")
.addResourceLocations("classpath:/resources/")
.addResourceLocations("classpath:/static/")
.addResourceLocations("classpath:/public/");
super.addResourceHandlers(registry);
}
所以,采用第一种方法更加简单方便,不容易出现意料之外的bug
2.异步使用spring cloud 中的Feign调用方式,出现空指针问题
如下图:
解决方案:
只需在feign拦截器中增加如下代码即可
RequestContextHolder.setRequestAttributes(RequestContextHolder.getRequestAttributes(), true)。
如下图: