前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot 入门——局部与全局的异常处理

SpringBoot 入门——局部与全局的异常处理

作者头像
企鹅号小编
发布2018-02-02 11:37:56
8040
发布2018-02-02 11:37:56
举报
文章被收录于专栏:编程编程

一、构建测试代码

1

新建MAVEN项目

打开IDE—新建Maven项目—构建一个简单Maven项目

2

编写pom.xml引入包

编写pom配置引入jar包

注:引入完毕后可能项目会报红叉,更新maven即可

3

新建一个controller类

类名:TestController

4

新建一个Application类

包名:com.springboot

类名:TestController

然后运行程序

5

测试

输入地址:http://localhost:8080/test/hello1

如果显示:hello1,则测试成功

测试代码编写完成

二、局部异常处理

对TestController类进行操作

1

创造异常点

如果设置一个变量=整数/0,则会发生ArithmeticException异常

在TestController中加入除0异常点

2

编写异常处理方法

在TestController中加入异常处理方法

3

测试

输入地址:http://localhost:8080/test/hello1

如果显示:发生了除0异常,则测试成功

三、全局异常处理

1

创建一个新的Cpntroller类

类名:TestGlobalController

2

编写全局异常类

类名:GlobalDefaultExceptionHandler

全局异常处理返回字符串

.

全局异常处理返回JSON

.

全局异常处理返回JSP

.

注:需要配置一下才能支持jsp

需要在pom添加JSP的支持

.

需要配置application.properties

添加application.properties文件,然后往其中写入

.

需要添加jsp文件

添加JSP,放置在src/main/webapp/WEB-INF目录下

3

全局异常类应用范围设置

@ControllerAdvice简介

在spring 3.2中,新增了@ControllerAdvice 注解可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping中。

这里我们全局异常只应用到@ExceptionHandler

设置@ControllerAdvice应用范围

设置了@ControllerAdvice应用范围,即就设置了异常类的应用范围

@ControllerAdvice的范围有:

basePackages:应用在xx包

basePackageClasses:应用在xx类

assignableTypes:应用在加了@Controller的类

annotations:应用在带有xx注解的类或者方法

≥简单用法例子:

@ControllerAdvice(basePackageClasses=)

只捕捉TestController.class中的异常

@ControllerAdvice(assignableTypes=)

只捕捉TestController.class中的异常

@ControllerAdvice(annotations=TestException.class)

只捕捉带有@TestException注解的类

上面四个注解一个应用包,然后的两个用在类,而最后一个只应用于带有XX注解的类

3.讲讲应用在注解怎么写

(1)创建一个注解类

注:关于注解类的简说请看:

https://my.oschina.net/u/3523885/blog/1489959

(2)将注解加到TestController类

加入@TestException注解

(3)TestController类不加注解

(4)设置异常类只捕捉带有@TestException注解的类的异常

本文来自企鹅号 - 一个小小的码农媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 一个小小的码农媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档