@Controller 注解的原理
在 Spring MVC 中,@Controller 注解用于标识一个 Java 类是一个控制器。控制器负责接收请求、处理请求,并返回响应。具体来说,使用 @Controller 注解的类将会被 Spring MVC 自动扫描,并注册为一个控制器。
@Controller 注解的作用和 @Component 注解类似,都是将一个类标记为 Spring 的组件。但是,@Controller 注解还有以下特性:
自动映射 URL。@Controller 注解可以自动将请求映射到控制器的方法上。
支持视图解析。@Controller 注解可以将方法的返回值解析为视图,并渲染到客户端。
@Controller 注解的用法
使用 @Controller 注解的步骤如下:
1. 创建控制器类
首先,需要创建一个 Java 类,并使用 @Controller 注解来标注这个类。
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "hello";
}
}
2. 编写控制器方法
在控制器类中,需要编写控制器方法。控制器方法处理请求,并返回响应。控制器方法可以使用 Spring MVC 提供的注解来指定请求的 URL、请求方法和其他参数。
@GetMapping("/hello")
public String hello() {
return "hello";
}
上面的代码中,@GetMapping 注解用于指定请求的 URL,即 /hello。方法的返回值为 “hello”,表示要渲染名为 “hello” 的视图。
3. 配置视图解析器
在 Spring MVC 中,控制器方法的返回值可以是一个视图名称,也可以是一个 ModelAndView 对象。为了将视图名称解析为实际的视图,需要配置一个视图解析器。
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;