熟知的用法
@ControllerAdivce注解与@ExceptionHandler注解联合使用,统一处理异常
InitBinder联合使用
@ControllerAdivce注解与@InitBinder注解联合使用
@ControllerAdvice
public class SpringControllerAdvice {
@InitBinder
public void globalInitBinder(WebDataBinder binder) {
binder.addCustomFormatter(new DateFormatter("yyyy-MM-dd"));
}
}
ModelAttribute联合使用
@ControllerAdvice
public class SpringControllerAdvice {
@ModelAttribute(value = "message")
public String globalModelAttribute() {
System.out.println("添加了message全局属性。");
return "输出了message全局属性。";
}
}
@Controller
public class UserController {
@RequestMapping(value = "/users", method = RequestMethod.GET)
public void users(@ModelAttribute("message") String message) {
System.out.println(message);
}
}
总结
被@ExceptionHandler、@InitBinder和@ModelAttribute注解的方法都会作用在被@RequestMappping注解的方法上
参考文章: