springmvc 用了 @RequestMapping 是不是可以不用 @Controller 关系
@RequestMapping 是用来映射请求的,可以注解在类或方法上。当注解在类上时,表示该类中的所有响应请求的方法都是以该地址作为父路径;当注解在方法上时,表示该方法响应的是该路径的请求。
@Controller 是表示该类是一个控制器,会被 Spring 容器管理。通常,我们会在一个类上同时使用 @RequestMapping 和 @Controller ,表示这个类是一个控制器,并且该类中的方法都是相对于类级别的请求映射。
所以,@RequestMapping 并不能脱离 @Controller 单独使用,二者关系紧密,一般是配合使用的。
示例代码:
解释
解释
@Controller
@RequestMapping("/users")
public class UserController {
@RequestMapping(method = RequestMethod.GET)
public String getUserList(Model model) {
// ... 获取用户列表并放入模型中
return "userList"; // 返回视图名称
}
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public String getUser(Model model, @PathVariable("id") Long id) {
// ... 获取用户信息并放入模型中
return "userDetail"; // 返回视图名称
}
}
在这个例子中,UserController 类上的 @RequestMapping("/users") 表示所有的方法映射都是在 /users 路径下,@Controller 表示这是一个控制器。