@Controller
@Controller
is used to mark classes as Spring MVC Controller (e.g. a web controller).- It is typically used in combination with annotated handler methods based on the
RequestMapping
annotation.
@ExceptionHandler
@ExceptionHandler
works at the Controller level and it is only active for that particular Controller, not globally for the entire application.HandlerExceptionResolver
This will resolve any exception thrown by the application. It is used to resolve standard Spring exceptions to their corresponding HTTP Status Codes. It does not have control over the body of the response, means it does not set anything to the body of the Response.It does map the status code on the response but the body is null.
@ControllerAdvice
@ControllerAdvice
used for global error handling in the Spring MVC application.It also has full control over the body of the response and the status code.