说说 Spring MVC 的视图控制器

Spring MVC 标准控制器类的编程模型是这样的:

  1. 控制器类使用了 @Controller 注解, 项目启动时,Spring 组件扫描功能自动发现并将其初始化为 Spring 应用上下文中的 bean ;
  2. 可以在控制器类上使用 @RequestMapping 注解,定义好该控制器的基本请求模式;
  3. 控制器类的具体方法都带有一个或多个标注了 @GetMapping 或 @PostMapping 注解的方法,这些注解用来指明该方法处理哪种类型的请求。

如果一个控制器只处理请求转发,而不需要处理输入或填充模型,我们可以这样定义它。

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("home");
    }
}

这里,我们定义了一个配置类,它实现了 WebMvcConfigurer 接口。通过它,可以自定义 Spring MVC。示例中覆盖了 addViewControllers 方法。通过 ViewControllerRegistry 对象的 addViewController() 方法来注册视图控制器。

所有标注了 @Configuration 的配置类,都可以实现 WebMvcConfigurer 接口,用于注册新的视图控制器。

建议为每一种特性(web、安全等)创建独立的配置类,这样可以确保 Spring Boot 的引导类尽可能地简洁。

猜你喜欢

转载自blog.csdn.net/deniro_li/article/details/108308541