SpringBoot的注解扫描的默认规则是从SpringBoot的项目入口类所在的包。
若入口类所在的包是com.example.demo那么自动扫描包的范围是com.example.demo包及其下面的子包,如果service包和dao包不在此包小面,则不会自动扫描,多模块项目添加依赖模块后只要包路径在范围内也一样会被扫描。
可以通过@ComponentScan注解手动添加要扫描的包。
优雅的接收单个参数的 post 请求_post请求接收单个参数-CSDN博客
发生异常时跳转到异常页面的处理方式(可自定义处理方式)
生效优先级:
@ExceptionHandler
的局部异常处理@ControllerAdvice
+ @ExceptionHandler
的全局异常处理HandlerExceptionResolver
接口的全局异常处理SimpleMappingExceptionResolver
全局异常处理特点:
SimpleMappingExceptionResolver
不能获取异常对象,其余三种都可以获取异常对象发生异常时返回JSON响应的处理方式
@RestControllerAdvice
+ @ExceptionHandler
的全局异常处理
此种异常处理方式类似于上面的第二种异常处理方式,只是将相应数据默认为了JSON格式。
注:第一类异常处理方式可人为设定返回类型,可以跳转到错误页面,也可以返回JSON或是其他类型的数据,自由度较高。