我们用到spring4 来处理异常,每当项目发生异常时,它就会调用相应的方法。
spring异常处理类:
@Controller @ControllerAdvice public class ControllerExceptionHandler{ private static final Log LOGGER = LogFactory.getLog(ControllerExceptionHandler.class); @ExceptionHandler(Throwable.class) @ResponseBody public ResponseEntity<Message> handleThrowable(Throwable ex) { System.out.println("#############异常111111111##############"); LOGGER.error("", ex); Message message = new Message(); return new ResponseEntity<Message>(message, null, HttpStatus.OK); } @ExceptionHandler(IllegalArgumentException.class) @ResponseBody public ResponseEntity<Message> handleIllegalArgumentException(IllegalArgumentException ex) { System.out.println("#############异常2222222222##############"); LOGGER.error("", ex); Message message = new Message(); return new ResponseEntity<Message>(message, null, HttpStatus.OK); } @ExceptionHandler(BaseLogicException.class) @ResponseBody public ResponseEntity<Message> handleBaseLogicException(BaseLogicException ex) { System.out.println("#############异常333333333333333333333333333333##############"); LOGGER.error("", ex); Message message = new Message(); return new ResponseEntity<Message>(message, null, HttpStatus.OK); } }
注意里面的注解都不能少,而且使用springmvc扫描这个类。不要再使用spring重复扫描。
<context:component-scan base-package="com.qing.web.controller" use-default-filters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" /> <context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice" /> </context:component-scan>
其实异常处理就是这么简单,每次项目中出现异常时,就会跳到上面相应的方法中。
我们可以在上面的方法中集中处理,可以跳到某一页面。
我们应该注意到了第三个方法,会拦截BaseLogicException异常。 这个是我们自己定义的异常。
既然我们想自定义异常,那就要规范一点,我们是不是需要一个异常码,比如404,500. 我们是不是需要统一的异常显示信息,是不是需要考虑国际化。
那么接下来我们就看看怎么实现吧。
明天再写
相关推荐
Spring Cloud组件 模块 项目名 注册中心 配置中心 云配置服务器 网关 云祖 熔断监控 云-hystrix-仪表板 健康检查 云管理员 基线追踪 cloud-zipkin-ui 基础常见 所有服务都引用的一个二方库。 模块 项目名 通用,工具...
在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目需求的各种组件和积累各种解决方案。基于这样的背景下,我开源了本示例项目,方便大家快速上手Spring Boot、...
第4篇是Spring MVC与MyBatis的项目整合实战,通过对水果网络销售平台的需求分析、功能设计、数据库设计以及模块详细编码实现,让读者了解整合项目开发的整体流程。 《Spring MVC+MyBatis开发从入门到项目实战》对...
主要介给大家绍了关于Spring boot项目中异常拦截设计和处理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到ORM框架的混用和DAO层设计的知识。 第13章:本章重点对在Spring中如何使用Quartz进行任务调度进行了讲解,同时还涉及...
12.5 从项目中删除Spring Roo 500 12.5.1 问题 500 12.5.2 解决方案 500 12.5.3 工作原理 501 12.6 小结 502 第13章 Spring测试 503 13.1 用JUnit and TestNG创建测试 504 13.1.1 问题 504 13.1.2...
毕业设计基于Spring Boot的汽车4S店信息管理系统项目源 功能 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 岗位管理:...
12.5 从项目中删除Spring Roo 500 12.5.1 问题 500 12.5.2 解决方案 500 12.5.3 工作原理 501 12.6 小结 502 第13章 Spring测试 503 13.1 用JUnit and TestNG创建测试 504 13.1.1 问题 504 13.1.2...
此外,本书重点突出了“实战性”的主题,力求使全书“从实际项目中来,到实际项目中去”。 目录 第1篇 概述 第1章 Spring概述 1.1 认识Spring 1.2 关于SpringSource 1.3 Spring带给我们什么 1.4 Spring体系结构 1.5 ...
6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant使用指南 7.1 Ant介绍 7.1.1 Ant简介 7.1.2 为什么要使用Ant 7.2 建立Ant的开发环境 7.2.1 下载Ant 7.2.2 配置Ant 7.3 Ant的使用方法 7.3.1 Ant能完成的...
6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant使用指南 7.1 Ant介绍 7.1.1 Ant简介 7.1.2 为什么要使用Ant 7.2 建立Ant的开发环境 7.2.1 下载Ant 7.2.2 配置Ant 7.3 Ant的使用方法 7.3.1 Ant能完成的...
系统日志:记录用户操作日志与异常日志 SQL监控:采用druid 监控数据库访问性能 接口管理:方便统一查看管理接口 部门管理:配置系统用户所属部门组织 岗位管理:配置系统用户所属担任职务 字典管理:配置维护系统中...
3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 4、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于...
12.2.3使用RequestPostProcessor在Spring MVC测试中以用户身份运行 106 作为用户在Spring MVC测试中使用注释运行 108 12.2.4测试HTTP基本认证 109 12.3 SecurityMockMvcRequestBuilders 109 12.3.1测试基于表单的...
基于SpringBoot+SpringSecurity的RBAC管理系统源码+数据库+项目说明.zip 这是一款基于SpringBoot+SpringSecurity的RBAC权限管理系统。原本只想着做成基于SpringSecurity的权限管理系统,但随着功能的增加感觉有些刹...
6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant使用指南 7.1 Ant介绍 7.1.1 Ant简介 7.1.2 为什么要使用Ant 7.2 建立Ant的开发环境 7.2.1 下载Ant 7.2.2 配置Ant 7.3 Ant的使用方法 7.3.1 Ant能完成的...
我们将首先了解Netty的原理和优势,然后介绍如何在Spring Boot项目中集成Netty,包括详细的使用流程和步骤,以及带有注释的代码示例。通过本文,读者将能够掌握Netty在Spring Boot中的实际应用。 Netty 的核心特点 ...
+ springBoot + springCloud + 日志组件logback-spring + 多配置 + 多数据源...+ 传参注解式校验 + session练习 + 公用日志设计封装 + db乐观锁设计 + 优雅启停 + 配置文件信息加密 + AES加解密 + spring 事件监听设计
第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到ORM框架的混用和DAO层设计的知识。 第13章:本章重点对在Spring中如何使用Quartz进行任务调度进行了讲解,同时还涉及...
此外,本书重点突出了“实战性”的主题,力求使全书“从实际项目中来,到实际项目中去”。 目录 第1篇 概述 第1章 Spring概述 1.1 认识Spring 1.2 关于SpringSource 1.3 Spring带给我们什么 1.4 Spring体系结构 1.5 ...