-
建立一个配置类
//扩展springmvc配置,其中home.html放在templates文件夹下,这是常识不解释了
方法一:@Configuration public class MyConfig extends WebMvcConfigurationSupport { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/a").setViewName("home"); // 按照这个依次配置 }
方法二:使用WebMvcConfigurationSupport 组件
@Configuration public class MyConfig extends WebMvcConfigurationSupport { @Bean public WebMvcConfigurationSupport webMvcConfigurationSupport() { WebMvcConfigurationSupport webMvcConfigurationSupport = new WebMvcConfigurationSupport() { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/a").setViewName("home"); } }; return webMvcConfigurationSupport; } } //实际上这种方法是不能实现功能的。涉及到extends WebMvcConfigurationSupport。 //网上说要重写addResourceHandlers方法。不过博主没试过 //最简单的解决办法就是将: extends WebMvcConfigurationSupport 替换为 implements WebMvcConfigure
方法三:
public class MyConfig implements WebMvcConfigurer { @Bean public WebMvcConfigurer webMvcConfigurer() { WebMvcConfigurer webMvcConfigurer = new WebMvcConfigurer() { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/a").setViewName("home"); } }; return webMvcConfigurer; } }
方法四:
@Configuration public class MyConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/a").setViewName("home"); // 按照这个依次配置 }
当然还有方法五:
@Controller public class LoginController { @RequestMapping("/login") public String hello() { return "Login"; //Login.html 不能加 @ResponseBody } }
tips:
Implements WebMvcConfigurer : 不会覆盖@EnableAutoConfiguration关于WebMvcAutoConfiguration的配置
@EnableWebMvc + implements WebMvcConfigurer : 会覆盖@EnableAutoConfiguration关于WebMvcAutoConfiguration的配置
extends WebMvcConfigurationSupport :会覆盖@EnableAutoConfiguration关于WebMvcAutoConfiguration的配置
extends DelegatingWebMvcConfiguration :会覆盖@EnableAutoConfiguration关于WebMvcAutoConfiguration的配置