spring几种诠注的应用

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 { }