首页 > 编程语言 > 详细

spring mvc异常统一处理(ControllerAdvice注解)

时间:2016-10-23 20:52:45      阅读:259      评论:0      收藏:0      [点我收藏+]

@ControllerAdvice,是spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强。让我们先看看@ControllerAdvice的实现:

 

Java代码  技术分享
  1. @Target(ElementType.TYPE)  
  2. @Retention(RetentionPolicy.RUNTIME)  
  3. @Documented  
  4. @Component  
  5. public @interface ControllerAdvice {  
  6.   
  7. }  

 没什么特别之处,该注解使用@Component注解,这样的话当我们使用<context:component-scan>扫描时也能扫描到.

 

@ControllerAdvice
public class ControllerExceptionHanler {
	private static Logger logger = LoggerFactory.getLogger(ControllerExceptionHanler.class);
	
	@ExceptionHandler(value=ApplicationRuntimeException.class)
	public ResponseEntity<String> handleServiceException(Exception exception, HttpServletRequest request) {
		return new ResponseEntity<String>(exception.getMessage(), HttpStatus.BAD_REQUEST);
	}
	
	@ExceptionHandler(value=Exception.class)
	@ResponseStatus(value=HttpStatus.INTERNAL_SERVER_ERROR)
	public ResponseEntity<String> handleException(Exception exception, HttpServletRequest request) {
		logger.error("系统异常!", exception);
		return new ResponseEntity<String>("操作失败,请联系管理员!", HttpStatus.INTERNAL_SERVER_ERROR);
	}
}

  

这样可以全局的管理项目的异常现象,避免的错误信息直接显示到页面的尴尬。

spring mvc异常统一处理(ControllerAdvice注解)

原文:http://www.cnblogs.com/chihirotan/p/5990742.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!