ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SSM整合

2022-06-02 13:35:09  阅读:161  来源: 互联网

标签:BusinessException code SSM 整合 Integer message 异常 public


一、SSM整合。

1、创建工程。

2、SSM整合。

  • Spring
    • SpringConfig
  • MyBatis
    • MyBatisConfig
    • JdbcConfig
    • jdbc.properties
  • SpringMVC
    • ServletConfig
    • SpringMvcConfig

3、功能模块。

  • 表与实体类
  • dao(接口+自动代理)
  • service(接口+自动代理)
    • 业务层接口测试(整合JUnit)
  • controller
    • 表现层接口测试(postman)

二、表现层数据封装。

 Result

Code

三、异常处理器。

  • 框架内部抛出的异常:因使用不合规导致
  • 数据层抛出异常:因外部服务器故障导致。(例如:服务器访问异常)
  • 业务层抛出异常:因业务逻辑书写 错误导致(例如:遍历业务书写操作,导致索引异常等)
  • 表现层抛出的异常:因数据收集、校验等规则导致(例如:不匹配的数据局类型导致异常等)
  • 工具类抛出异常:因工具类书写不严谨不够健壮导致。(例如:必要释放的连接长时间没释放)

1、各个层级均出现异常,异常代码书写在那一层呢?

——所有的异常均抛出到表现层处理。

2、表现层处理异常,每个方法中但对书写,代码书写量巨大且意义不大,如何解决呢?——AOP

异常处理器

 集中的、统一的处理项目中出现的异常

第一步:controller中创建一个异常处理类ProjectExceptionAdvice

//@RestControllerAdvice用于标识当前类为REST风格对应的异常处理器
@RestControllerAdvice
public class ProjectExceptionAdvice {
    //@ExceptionHandler用于设置当前处理器类对应的异常类型
    @ExceptionHandler(Exception.class)
    public Result doSystemException(Exception ex){
        System.out.println("嘿嘿,异常往哪里跑!!");
        return new Result(666,null,"嘿嘿,异常往哪里跑!!");
    }

项目异常分类。

    •     业务异常(BusinessException)
      •      规范的用户行为操作产生的异常。
      • 不规范的用户操作产生的异常
    • 系统异常(SystemExpection)
      •      项目运行过程中可预计且无法避免的异常。
    • 其他异常(Exception)
      •     编程人员未预期到的异常。

四、项目异常处理方案。

 

    •     业务异常(BusinessException)
      • 发送对应消息给用户,提醒规范操作
    • 系统异常(SystemExpection)
      •      发送固定消息传递给用户,安抚用户。
      • 发送特定消息给运维人员,提醒维护。
      • 记录日志
    • 其他异常(Exception)
      •     发送固定消息传递给用户,安抚用户。
      • 发送特定消息给编程人员,提醒维护(纳入预期范围)。
      • 记录日志。

编写自定义系统运行异常类并继承RuntimeException

package com.itheima.exception;
//自定义异常处理器,用于封装异常信息,对异常进行分类
public class SystemException extends RuntimeException{
    private Integer code;
    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public SystemException(Integer code, String message) {
        super(message);
        this.code = code;
    }

    public SystemException(Integer code, String message, Throwable cause) {
        super(message, cause);
        this.code = code;
    }

}

编写自定义业务异常类并且继承RuntimeException

//自定义异常处理器,用于封装异常信息,对异常进行分类
public class BusinessException extends RuntimeException{
    private Integer code;

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public BusinessException(Integer code, String message) {
        super(message);
        this.code = code;
    }

    public BusinessException(Integer code, String message, Throwable cause) {
        super(message, cause);
        this.code = code;
    }

五、SSM整合标准开发。

 

标签:BusinessException,code,SSM,整合,Integer,message,异常,public
来源: https://www.cnblogs.com/pengyue79/p/16332798.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有