/smart

Smart是基于SpringBoot构建的微服务增强框架。它不仅统一了异常、国际化、文档、校验等处理规范,还引入了对配置文件进行分拆的新型开发方法,让应用可以同时兼容单体和微服务的启动方式。

Primary LanguageJava

概述

Smart是基于SpringBoot构建的微服务增强框架。它不仅统一了异常、国际化、文档、校验等处理规范,还引入了对配置文件进行分拆的新型开发方法。使用它作为技术底座的多模块应用,前期可以将模块组合实现单体部署。跟随业务的发展,在无代码改动的情况下,又具备将模块独立成微服务的能力,实现分阶降本增效。

组件介绍

smart                                         应用名称
├── smart-core                                核心模块,统一响应报文
├── smart-starter                             装配父模块
│   ├── smart-starter-exception               异常模块,统一异常基类,拦截结果处理,国际化支持
│   ├── smart-starter-i18n                    国际化模块,多国家语言处理
│   ├── smart-starter-swagger                 文档模块,Swagger规范
│   ├── smart-starter-validation              校验模块,集成SpringBoot Validation,国际化支持
├── smart-starter-web                         组装模块,SpringBoot Web基础和装配模块公共能力的组装
├── smart-starter-web-mybatisplus             组装扩展MybatisPlus模块,贯标分页实体、公共字段及公共字段的自动赋值能力

依赖关系

技术选型

技术 版本 说明
spring-boot 2.5.13 容器+MVC框架
mybatis 3.5.10 ORM框架
mybatis-plus 3.5.2 MyBatis增强工具
hibernate-validator 6.2.3.Final 校验
swagger 3.0.0 文档

特色

1.统一响应报文、异常、国际化、文档、校验等处理规范

2.标准化ORM层公共字段及其变更自动赋值能力

3.解决ORM框架分页实现各行其道带来的RPC调用分页实体转换、前端多套分页逻辑等问题

4.引入模块对配置文件进行分拆的新型开发方法,以便应用能按需选择单体还是微服务的部署方式

扩展性

任意smart-starter-xxx模块装配的Bean都支持自定义扩展覆盖的能力

示例

示例工程smart-sample