網站開發(fā)需要考什么證網絡營銷渠道有哪三類
之前發(fā)過通過繼承WebMvcConfigurationSupport來訪問靜態(tài)資源的文章——img標簽訪問靜態(tài)資源,代碼如下
@Configuration
public class LocalPathWebMvcConfigurer extends WebMvcConfigurationSupport {/*** 在springboot項目中,允許瀏覽器訪問指定本地文件** @param registry*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/img/**").addResourceLocations("file:///D:/exerciting/java/mall-picture/");super.addResourceHandlers(registry);}
}
這個方法是可行的,但會帶來一個小問題。
問題:在項目中加入swagger-ui這種本身就帶靜態(tài)資源的依賴,它該怎么訪問?
像這些本身就要訪問靜態(tài)資源的,它們一般是實現了WebMvcConfigurer,而不是繼承WebMvcConfigurationSupport。
當我們用上面代碼中的方法訪問靜態(tài)資源后,會發(fā)現你不能繼續(xù)訪問swagger-ui.html了,所以改進的做法是將自己要訪問的靜態(tài)資源也用實現WebMvcConfigurer中addResourceHandlers方法的方式重寫,代碼如下:
@Configuration
public class BaaJoyMallWebMvcConfigurer implements WebMvcConfigurer {@Autowiredprivate TokenToMallUserMethodArgumentResolver tokenToMallUserMethodArgumentResolver;/*** 在springboot項目中,允許瀏覽器訪問指定本地文件,最好用實現WebMvcConfigurer的方法而不是繼承WebMvcConfigurationSupport的方法重寫* 因為如果像swagger-ui這種自帶靜態(tài)資源的,可能會因此訪問不到** @param registry*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/goods-img/**").addResourceLocations("file:///D:/exerciting/java/baajoy-mall-springboot/src/main/resources/goods-img/");registry.addResourceHandler("/upload/**").addResourceLocations("file:///D:/exerciting/java/baajoy-mall-springboot/src/main/resources/upload/");}
}
當然兩種方法都是可以的,至于有沒有其他方法,還沒有太多了解。