前言
设计模式 在开源项目中是使用的非常多的,我们稍微来看一下
在springboot项目中,我们可以自己配置
静态文件的访问路径,
统一的异常处理,拦截器,跨域问题,这些你可以重新自己写,也可以选择自己写一下,于是 springMVC很贴心的提供了一个类适配器WebMvcConfigurerAdapter
看看源码
source类 是 WebMvcConfigurer
public interface WebMvcConfigurer {
void configurePathMatch(PathMatchConfigurer var1);
void configureContentNegotiation(ContentNegotiationConfigurer var1);
................里面有很多的方法
}
适配器类
public abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer {
public WebMvcConfigurerAdapter() {
}
public void configurePathMatch(PathMatchConfigurer configurer) {
}
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
}
} ..... 和source类一样多 而且没有具体的实现
这是 target类,就是你想实现的
你可以选择性的去实现,也可以不去实现,这就是 类适配器 的好处
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/templates/**").addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX+"/templates/");
registry.addResourceHandler("/static/**").addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX+"/static/");
super.addResourceHandlers(registry);
}
}