Spring Boot
、Java
JWT
、RBAC
Rest API
、OpenAPIv3
PostgreSQL
、Redis
、Flyway
Junit
、Jacoco
Lombok
、Mapstruct
、Javapoet
PMD
、PMD-P3C
OSS
CI
、CD
Prometheus
src
├─main
│ ├─java
│ │ └─o
│ │ └─w
│ │ └─o
│ │ ├─api
│ │ ├─resource
│ │ │ ├─example
│ │ │ │ └─modulex
│ │ │ │ ├─configuration
│ │ │ │ ├─domain
│ │ │ │ │ └─property
│ │ │ │ ├─repository
│ │ │ │ ├─service
│ │ │ │ │ ├─dto
│ │ │ │ │ ├─dtomapper(DO DTO 转换配置)
│ │ │ │ │ ├─dtovalidator(DTO 验证器)
│ │ │ │ │ └─impl
│ │ │ │ └─util
│ │ │ └─system
│ │ │ ├─authentication(认证)
│ │ │ ├─authorization(授权)
│ │ │ ├─notification(通知)
│ │ │ ├─permission(权限)
│ │ │ ├─role(角色)
│ │ │ └─user(用户)
│ │ ├─server
│ │ │ ├─aop
│ │ │ ├─configuration
│ │ │ │ ├─handler
│ │ │ │ │ └─exceptions(分类全局异常拦截器)
│ │ │ │ └─properties
│ │ │ ├─definition(数据定义)
│ │ │ ├─helper(与 util 区别 需要 @Resource 注入使用)
│ │ │ ├─runner
│ │ │ ├─schedule
│ │ │ ├─util(静态工具类)
│ │ │ └─validator(验证器)
│ │ ├─util(全局静态工具类,尽量使用完善的三方库基于接口封装)
│ │ └─websocket
│ │ └─endpoint
│ └─resources
│ ├─META-INF
│ ├─config(配置文件)
│ ├─db
│ │ └─migration(flyway 脚本)
│ ├─i18n(国际化)
│ ├─resource
│ ├─static
│ └─templates
└─test
-
模型
- 服务泛型:ServiceResult
- 服务异常:ServiceException
- 接口泛型:ApiResult
- 接口异常:ApiException
- 系统异常:SystemException
-
全局处理
- 接口全局异常处理:ApiExceptionsHandler
- 接口全局包装处理:ApiResponseHandler
-
权限配置
- 访问控制形式 RBAC
-
认证 - 授权 [
JWT
]- 认证:
- 生成、注册、校验、刷新、注销
- 授权
- 解析、注入
- 认证:
-
安全策略
-
PostgreSQL
- 系统资源:
- 用户
- 角色
- 权限
- 系统资源:
-
Redis
- 认证
- 服务访问限制(基于 IP 和 User ID)
- 接口访问限制(基于 IP 或 User ID)
- 缓存 Service 层操作结果
-
Flyway
- 数据库管理
- 数据库 Baseline 配置
- 数据库 核心表 SQL 脚本
- 数据库管理
- 单元测试
- Junit 单元测试
- Jacoco 代码覆盖率
- Jenkins
- 单元测试
- 代码检查
- Aliyun Docker Registry
- Github App Integration
- 依赖检测
- OpenApi
- 接口 SDK 自动生成
- MapStruct
- 对象 DTO DO 自动转化
- Lombok
- 对象代码简化
感谢 JetBrains 提供的 开源许可证(open source licence)。