springboot框架常用知识

SpringBoot的加载机制

springboot的包默认扫描范围

SpringBoot的注解扫描的默认规则是从SpringBoot的项目入口类所在的包

若入口类所在的包是com.example.demo那么自动扫描包的范围是com.example.demo包及其下面的子包,如果service包和dao包不在此包小面,则不会自动扫描,多模块项目添加依赖模块后只要包路径在范围内也一样会被扫描。

可以通过@ComponentScan注解手动添加要扫描的包。

SpringBoot网络请求处理

springboot接收请求的方式

优雅的接收单个参数的 post 请求_post请求接收单个参数-CSDN博客

Springboot异常处理机制

springboot处理异常的方式

  1. 发生异常时跳转到异常页面的处理方式(可自定义处理方式)

    生效优先级:

    1. @ExceptionHandler的局部异常处理
    2. @ControllerAdvice + @ExceptionHandler 的全局异常处理
    3. HandlerExceptionResolver 接口的全局异常处理
    4. SimpleMappingExceptionResolver全局异常处理

    特点:

    1. 除去局部异常处理外,其余三种方式都可以实现全局异常处理。
    2. SimpleMappingExceptionResolver不能获取异常对象,其余三种都可以获取异常对象
  2. 发生异常时返回JSON响应的处理方式

    @RestControllerAdvice + @ExceptionHandler 的全局异常处理

    此种异常处理方式类似于上面的第二种异常处理方式,只是将相应数据默认为了JSON格式。

注:第一类异常处理方式可人为设定返回类型,可以跳转到错误页面,也可以返回JSON或是其他类型的数据,自由度较高。

SpringBoot中四种异常处理的方式_springboot 异常处理-CSDN博客

Spring Boot项目优雅的全局异常处理方式(全网最新) - 掘金 (juejin.cn)