springboot專案中的mvc配置大概有兩種寫法,一種是基於實現介面webmvcconfigurer,一種是基於繼承webmvcconfigurationsupport,這兩種寫法會衝突,最終spring容器會執行繼承webmvcconfigurationsupport類中的重寫方法,而忽略實現介面webmvcconfigurer所重寫的方法。
因此,乙個應用中,應只選擇一種方法進行配置。
如下:
@configuration
public
class
webmvcconfig
implements
webmvcconfigurer
@override
public
void
addviewcontrollers
(viewcontrollerregistry registry)
@override
public
void
addresourcehandlers
(resourcehandlerregistry registry)};
}}
關於靜態資源訪問,如果是純前後端分離的專案,則不需要,此處是因為本專案有少量的pc頁面,直接寫在了後端,如不配置,將無法訪問。
可以看到,swagger的靜態資源路徑字首是/meta-inf/resources/,而本專案的靜態資源路徑是/static/,因此,需要額外配置。
springboot的核心理念是約定大於配置,在沒有額外配置的情況下,其靜態資源優先順序如下:
classpath:/meta-inf/resources/
classpath:/resources/
classpath:/static/
classpath:/public/
/:當前專案的根路徑
可以看到,swagger正是利用了這一點,將其靜態資源放在了預設最高優先順序目錄下,無需額外配置可直接訪問,但當專案中存在自定義的靜態資源,且其路徑不在此目錄下時,是無法訪問的。
Springboot專案中Swagger的使用
2.7.0swagger.version properties io.springfoxgroupid springfox swagger uiartifactid version dependency io.springfoxgroupid springfox swagger2artifactid...
springboot專案中的異常處理
1.首先自定義異常類繼承runtimeexception類,以notfoundexception為例 使用messageformat.format 方法做資訊和可變參的處理。public class notfoundexception extends runtimeexception 2.定義全域性...
springboot 專案中遇到的BUG
mybatis中動態列印sql語句到控制台,只需要在springboot配置檔案中新增如下配置即可 mybatis configuration log impl org.apache.ibatis.logging.stdout.stdoutimpl但是如果沒有用到任何連線池的話,是不會列印的 cre...