WHY :
为什么我们需要快捷定义 ViewController ?
在项目开发过程中,经常会涉及页面跳转问题,而且这个页面跳转没有任何业务逻辑过程,只是单纯的路由过程 ( 点击一个按钮跳转到一个页面 ) 。
常规写法如下:
@RequestMapping("/toview") public String view(){ return "view"; }
如果项目中有很多类似的无业务逻辑跳转过程,那样会有很多类似的代码。
HOW :
如何可以简单编写,这种代码?
Spring MVC 中提供了一个方法,可以把类似代码统一管理,减少类似代码的书写(根据项目要求,或者代码规范,不一定非要统一管理页面跳转,有时会把相同业务逻辑的代码放在一个类中)。
实现 WebMvcConfigurer 接口的 addViewController方法(Spring2.X不再通过继承WebMvcConfigurerAdapter
的DemoMVCConfig
类然后重载addViewControllers来实现
)
WebMvcConfigurer 接口是用来在spring boot 中扩展 spring mvc 功能的,因为
当我们写了新的配置,spring boot是将新的配置组合进它原本的对应的自动配置中,比如原本自动配置类里有三个配置,我们写了一个新配置,启动时就会自动配置这四个配置,优先用用户自己的
源码:
default void addViewControllers(ViewControllerRegistry registry) {}
实例:
-
public
class
MyMvcConfig
implements
WebMvcConfigurer {
-
public
void
addViewControllers(
ViewControllerRegistry registry) {
-
registry.
addViewController(
"/atguigu").
setViewName(
"success");
-
}
-
}
以上代码等效于第一种写法。