學習筆記——Spring Boot(6)版本問題

Spring boot2.0遇到的問題

  在觀看網課時,我按照老師所給的代碼及步驟編寫,但是idea總是給我標紅,而且找來找去找不到問題的所在,最終發現是spring boot版本的問題,我使用的是2.0.4版本,而老師的是1.5的版本,想換個版本,但是我使用的是java10,舊版本也出錯,最終只可以使用新版本,網上找資料,查問題。

 

推薦博客:

1)嘟嘟獨立博客

2)純潔的微笑博客

3)左搜

 

遇到的問題:

 

(1)WebMvcConfigurerAdapter提示過時

Springboot2.0將原本的手動配置springMVC的類WebMvcConfigurerAdapter取消了,取而代之的是接口WebMvcConfigurer

舊:

public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter

新:

public class MyWebMvcConfigurerAdapter implements WebMvcConfigurer

 

 

(2)靜態資源被攔截

出現原因:1.5版本時候META-INF/resources / resources / static / public 都是spring boot 認爲靜態資源應該放置的位置,會自動去尋找靜態資源,而在spring boot 2.0則對靜態資源也進行了攔截,當攔截器攔截到請求之後,但controller裏並沒有對應的請求時,該請求會被當成是對靜態資源的請求。此時的handler就是 ResourceHttpRequestHandler,就會拋出上述錯誤。

 

解決方法:在編寫攔截器的時候記得將路徑”/static/**”排除在外即可。可以看博客解決。

 

實現:在配置SpringMVC中使用接口WebMvcConfigurer中添加兩個方法:

@Override

public void addInterceptors(InterceptorRegistry registry) {

   registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**")

            .excludePathPatterns("/index.html","/","/user/login","/static/**");

}

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

   registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");

   WebMvcConfigurer.super.addResourceHandlers(registry);

}

 

(3)啓動項目時pom.xml出錯

問題:各個依賴導入有問題,可能存在多個起因導致的

解決方法:1.Fike->Invalidate Caches/Restart 清除緩存並重啓 idea

                  

                  2.右鍵 --> maven -->reimport

                 

                3.重啓電腦

                4.檢查porm文件依賴關係是否正確

 

 

 

#未完待續,以後遇到會繼續spring2.0的問題會繼續更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章