Utility Framework 是一个易于被使用的框架,旨在能够结合各种框架,让架构生活化、业务专一化、程序简单化,整体实用化。
依托 Utility Framework 创建应用无需从 0 至 1 开始,只需要添加相应配置,就可以将应用搭建在各大程序员创建的地基上,借此,您只需要精心设计或选择出喜欢的瓷砖、楼梯、门窗······
Utility Framework 目前提供了如下功能:
-
WEB
WEB 项目往往基于 MVC 架构搭建而成,其中我们对 Controller 进行了增强和解耦,将其划分为参数校验、业务逻辑、统一响应、全局异常捕捉和异常定制化处理。
生活例子 :小明正在家里烹饪美食,打算饱餐一顿。整体步骤包括,在厨房的水槽上洗菜洗肉,一旦发现有坏的,我们会丢到垃圾桶里;煮菜,如果没煮熟,小明不会选择吃;吃饭,如果吃的时候才发现仍然有坏的,那就是意料之外的事,小明会警惕起来,不会继续再吃;饱腹完之后,小明会回到洗碗池洗碗和收拾餐桌。 生活中我们并不会边吃边洗菜,亦或者边吃边煮菜······这样是不妥的,也是耦合的。
因此其中操作可以类比为:
- 洗菜洗肉——参数校验;
- 洗菜洗肉时发现坏的、没煮熟不吃——手动抛出异常;
- 发现坏菜坏肉默认可以丢垃圾桶,也可以喂宠物——异常定制化处理;
- 煮菜吃饭——业务操作;
- 吃出坏肉——中断业务操作,BUG 提醒;
- 丢垃圾桶、洗碗和收拾餐桌——设置响应头、体和状态;
- 边吃边洗菜——一边业务操作一边参数校验,耦合。
参数校验:您只需要使用
@Validator
就可以完成 Controller 层的参数校验。统一响应:您只需要实现
ControllerReturnResponse
和ControllerExceptionResponse
接口并注入 Spring 容器中即可。全局异常捕捉:您只需要秉持预料之内和非预料之内的思想进行异常的抛出,凡是您手动抛出来的异常,我们都将其视为预料之内的异常,反之视为 BUG。其中您可以结合工具类 Throw 进行异常抛出。
异常定制处理:您只需要在对应的异常枚举类中实现
ExceptionEnum
接口,再重写postProcessAfterThrow
方法即可。 -
Mybatis
todo
- Email: [email protected]
- Wechat: rovingsea