在慕课网买了一个spring boot的课程,但是是1.5版本的但是现在spring boot稳定版已经是2.0的版本了!
师傅领进门修行在个人,撸个spring boot2.0的项目记录一下坑
1.Mvc的配置在2.0版本中 WebMvcConfigurerAdapter类已经过时了!
在2.0中可以使用WebMvcConfigurationSupport代替
或者实现WebMvcConfigurer接口。
但是!使用继承WebMvcConfigurationSupport类拦截器居然会失效!!
于是只能用实现WebMvcConfigurer接口的方式最终配置如下
@Configuration
// 等价于
//@EnableWebMvc
public class MvcConfiguration implements WebMvcConfigurer{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// registry.addResourceHandler("/resources
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Bean(name = "multipartResolver")
public CommonsMultipartResolver createMultipartResolver() {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setDefaultEncoding("utf-8");
// 1024 * 1024 * 20 = 20M
multipartResolver.setMaxUploadSize(20971520);
multipartResolver.setMaxInMemorySize(20971520);
return multipartResolver;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
String interceptPath = "/admin
@Bean
public CorsFilter corsFilter() {
UrlbasedCorsConfigurationSource source = new UrlbasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig()); // 4
return new CorsFilter(source);
}
跨域解决!
可是做完登录发现session居然读取不到信息。百度了一下发现还是跨域问题。
要解决在springBoot和vue都要做配置
在刚才的配置加入
corsConfiguration.setAllowCredentials(true);
vue的axios访问加入
withCredentials:true,
全部代码
axios({
headers: {
'Content-Type': 'application/json',
},
withCredentials:true,
method:"post",
url:url,
data:data
}).then(function (response) {
....
})
跨域解决。。。
暂时就怎么多=,=



