spring几种诠注的应用
spring几种注解的应用
(一)
@ControllerAdvice(assignableTypes=PayController.class)//相当于spring的后置处理器执行通知,aop的环绕通知
@ControllerAdvice(assignableTypes=PayController.class)
public class PayExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseBody
public String PaException(HttpServletRequest request, Exception ex){
return "rspCode=000001&rspMsg="+ex.getMessage();
}
}
(二)
1. Controller, RestController的共同点
都是用来表示spring某个类的是否可以接收HTTP请求
2. Controller, RestController的不同点
@Controller标识一个Spring类是Spring MVC controller处理器
@RestController: a convenience annotation that does nothing more than adding the@Controller and @ResponseBody annotations。
@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
mvc的mapping方法默认是@responsebody
示例如下:
[html] view plain copy
@Controller
@ResponseBody
public class MyController { }
@RestController
public class MyRestController { }