我想在Windows中使用WebMvcConfigurerAdapter添加資源處理程序,但在Linux中不起作用,因此我添加了WebMvcConfigurationSupport
。WebMvcConfigurationSupport與WebMvcConfigurerAdapter混淆
經過調試和測試,我發現在兩個操作系統中都會創建兩個bean,但WebMvcConfigurerAdapter
的覆蓋功能只會在Windows上執行,WebMvcConfigurationSupport
的覆蓋功能只會在Linux上執行。
我找不到原因。兩個配置類如下所示:
@Configuration
public class JxWebAppConfigurer extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("file:"+System.getProperty("user.dir")+"/src/main/webapp/");
super.addResourceHandlers(registry);
}
}
這是另一種:
@Configuration
public class JxWebConfiguration extends WebMvcConfigurationSupport {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("file:"+System.getProperty("user.dir")+"/src/main/webapp/");
super.addResourceHandlers(registry);
}
}
@EnalbeMvc是已經在主類
好的,我昨天晚上讀了文檔並再次測試,發現另一個@EnableWebMvc,我以前沒有找到,這是問題,一個@@ EnableWebMvc就足夠了,但我添加了幾個,並忽略它。 – ysjiang
如果您發現該回答有用,請考慮upvoting /接受它。 – dimitrisli
我還有一個問題:我可以擴展WebMvcConfigurationSupport(或DelegatingWebMvcConfiguration,它們之間有什麼區別?)並仍然使用WebAutoConfiguration?或者還有另一種方法來添加資源處理程序,並且不要關閉WebAutoConfiguration?非常感謝〜 – ysjiang