使用SpringMVC2定义其它控制器,通过注解,实现相应功能。
时间: 2023-12-29 11:02:58 浏览: 69
首先需要在Spring配置文件中启用注解扫描:
```xml
<context:component-scan base-package="com.example.controller" />
```
这里以一个简单的示例代码为例,假设我们要定义一个UserController,其中包含了获取用户信息和修改用户信息的两个方法。
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value="/{userId}", method=RequestMethod.GET)
public ModelAndView getUserInfo(@PathVariable int userId) {
User user = userService.getUserById(userId);
ModelAndView mav = new ModelAndView("userInfo");
mav.addObject("user", user);
return mav;
}
@RequestMapping(value="/{userId}", method=RequestMethod.POST)
public String updateUserInfo(@PathVariable int userId, @RequestParam String username) {
User user = userService.getUserById(userId);
user.setUsername(username);
userService.updateUser(user);
return "redirect:/user/" + userId;
}
}
```
在上面的代码中,@Controller注解表示该类为控制器,@RequestMapping注解用于映射请求路径。getUserInfo方法用于获取用户信息,其中@PathVariable注解用于从请求路径中获取参数userId,getUserById方法用于从数据库中获取用户信息,并将其添加到ModelAndView中返回给前端页面。updateUserInfo方法用于修改用户信息,其中@RequestParam注解用于从请求参数中获取username,updateUser方法用于更新用户信息,并使用redirect重定向到获取用户信息的页面。
需要注意的是,这里使用了@Autowired注解自动注入了UserService,需要在Spring配置文件中进行配置:
```xml
<bean id="userService" class="com.example.service.UserService" />
```
阅读全文