@Controller:
@RequestMapping:
@Autowire和@Service依赖注入
@PathVariable:
使用路径变量:@RequestMapping("forUpdate/{id}")
public ModelAndView forUpdate(@PathVariableString id)
请求URL的id值将被复制到id中,路径变量的值可以不是String类型
@RequestParam:
获取请求参数的值;例如:localhost:8080/exam/product?productId=3
原先:String productId =HttpServletRequest.getParameter(“productId”);
现在:public void sendProduct(@RequestParamint productId) 不一定是String类
@ModelAttibute
(1)、注解方法:
将其输入的或者创建的参数对象添加到 Model中,
public void updateUser(@ModelAttibute(“newUser”)User user,Model model)
创建的User实例会以newUser的键值添加到Model中;
public void updateUser(@ModelAttibute User user,Model model)
创建的User实例会以user的键值添加到Model中;
(2)、注解非请求的方法:
被注解的方法会在调用该处理器的类请求处理方法是被调用,意味着一个处理器类有两个请求方法。
(3)、注解方法:
被注解的方法可以返回一个对象或者是一个void ,如果返回一个对象,则返回对象自动添加到Model中
@ModelAttibute
public Product sendProduct(@RequestParamint productId)
//
返回是void 则必须添加一个Model对象,并将实例添加到对象中
@ModelAttibute
public void sendProduct(@RequestParamint productId,Model model)
{model.addAtribute();}
Spring @Required 注释:
@Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否 则容器就会抛出一个 BeanInitializationException 异常。
@Required
public void setAge(Integer age) {
this.age = age;
}