点击图片报名参加广州&珠海源创会
一、构建测试代码
新建MAVEN项目
打开IDE—新建Maven项目—构建一个简单Maven项目
2
编写pom.xml引入包
注:引入完毕后可能项目会报红叉,更新maven即可
3
新建一个controller类
包名:com.springboot.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类
包名:package com.springboot.controller;
类名:TestGlobalController
2
编写全局异常类
包名:com.springboot.controller.exception
类名:GlobalDefaultExceptionHandler
注:需要配置一下才能支持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的范围有:
①basePackages:应用在xx包
②basePackageClasses:应用在xx类
③assignableTypes:应用在加了@Controller的类
④annotations:应用在带有xx注解的类或者方法
≥简单用法例子:
@ControllerAdvice(basePackages={"com.springboot.controller"})
只捕捉com.springboot.controller包中的异常
@ControllerAdvice(basePackageClasses={TestController.class})
只捕捉TestController.class中的异常
@ControllerAdvice(assignableTypes={TestController.class})
只捕捉TestController.class中的异常
@ControllerAdvice(annotations=TestException.class)
只捕捉带有@TestException注解的类
上面四个注解一个应用包,然后的两个用在类,而最后一个只应用于带有XX注解的类
(1)创建一个注解类
注:关于注解类的简说请看:
https://my.oschina.net/u/3523885/blog/1489959
(2)将注解加到TestController类
加入@TestException注解
(3)TestController类不加注解
(4)设置异常类只捕捉带有@TestException注解的类的异常
(5)测试
输入地址:http://localhost:8080/test/hello1
输入地址:http://localhost:8080/test/hello2
更多干货请前往公众号菜单栏“读我”->“干货分享”查看。