想要配置的话,需要实现WebMvcConfigurer类,它里面有许多底层方法,将其重写即可
1. 当然也可以定义一个组件,先需要创建其配置类,并且这个配置类需要对应功能实现对应的底层接口类;不要忘记@Bean
2.然后WebMvcConfiguration是有一个对应的properties类,给WebMvcConfiguration赋参数值
3.其次阅读源码可发现必须要有WebMvcConfigurer类,WebMvcConfiguration才能生效
package kuang.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.View;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.Locale;
@Configuration
public class myMvcConfig implements WebMvcConfigurer {
// 定义一个方法去的得到自己的视图解析器,可以增加一些定制化的功能,写好这个组件后,springboot自动装配
// @Bean
// public ViewResolver MyViewResolver(){
// return new MyViewResolver();//得到自己创建的视图解析器
// }
//
//
// public static class MyViewResolver implements ViewResolver{
// @Override
// public View resolveViewName(String s, Locale locale) throws Exception {
// return null;
// }
// }
//视图跳转
// @Override
// public void addViewControllers(ViewControllerRegistry registry) {
// registry.addViewController("/kuang").setViewName("test");
// }
@Override
public void addViewControllers(ViewControllerRegistry registry) {
//视图控制器("/"和"/index.html" 的意思是可以用这两个访问到后面viewName的内容)
//也可以理解为:给HTML页面增加新的视图名字
registry.addViewController("/").setViewName("index");
registry.addViewController("/index.html").setViewName("index");
registry.addViewController("/main.html").setViewName("dashboard");//用main.html访问到资源,防止登录成功的页面上面出现用户名和密码
}
//更新一个自己定义的组件
@Bean
public LocaleResolver localeResolver() {
return new MyLocaleResolver();
}
//添加一个拦截器组件
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginHandlerInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/index.html", "/", "/user/login", "/css/**", "/js/**", "/img/**");
}
}



