You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.2 KiB
3.2 KiB
项目模块
Databasir 基于 Gradle 进行模块管理,当前共有 5 个模块
模块名称 | 职责 |
---|---|
api | 所有的接口和定时任务均在该模块定义 |
common | 定义了项目通用的类,比如加解密工具、业务异常、标准 HTTP 返回类型等 |
core | 核心业务模块,包含了所有的业务逻辑 |
dao | 数据访问层,包含了数据库的实体、数据访问对象以及项目模型的 SQL 文件 |
plugin | jdbc 封装模块,将从 jdbc 获取的数据库元信息转换成 Databasir 的 Java 对象,文档信息的 DIFF 功能也是在该模块内实现 |
模块的依赖关系是一个简单的单向依赖
API 模块介绍
- 代码目录
api
└── src/main/java
└── com/databasir
├── api
│ ├── advice
│ │ ├── DatabasirExceptionAdvice.java /* 业务异常切面 */
│ │ └── OperationLogAspect.java /* 审计日志切面 */
│ ├── common
│ │ └── LoginUserContext.java 用户信息工具类
│ ├── config
│ │ ├── oauth2
│ │ │ ├── DatabasirOAuth2Authentication.java /* oauth2 登录信息实体 */
│ │ │ ├── DatabasirOauth2LoginFilter.java /* oauth2 登录过滤器 */
│ │ │ └── OAuth2AuthenticationSuccessHandler.java /* oauth2 登录成功回调类 */
│ │ ├── security
│ │ │ ├── DatabasirAuthenticationEntryPoint.java /* 授权失败回调类 */
│ │ │ ├── DatabasirAuthenticationFailureHandler.java /* 登录失败回调类 */
│ │ │ ├── DatabasirAuthenticationSuccessHandler.java /* 登录成功回调类 */
│ │ │ ├── DatabasirJwtTokenFilter.java /* jwt token 校验过滤器 */
│ │ │ ├── DatabasirUserDetails.java /* 已登录用户实体信息 */
│ │ │ └── DatabasirUserDetailService.java /* 加载 DatabasirUserDetails 的 service */
│ │ ├── SecurityConfig.java /* spring security 配置类 */
│ │ └── WebConfig.java /* web 配置类 */
│ ├── validator
│ │ └── XXXXXValidator.java /* 业务规则前置校验器 */
│ ├── XXXXXController.java /* 业务 HTTP 接口 */
│ └── Routes.java /* 业务 HTTP 接口路径常量 */
└── job
├── ProjectDocumentAutoSyncJob.java /* 文档自动同步任务 */
└── ProjectDocumentAutoSyncTriggerJob.java /* 文档自动同步任务启用任务 */
- 配置目录
api
└── src/main/resources
├── static /* 静态资源目录 */
├── application.properties /* 生产环境配置文件 */
└── application-local.properties /* 本地开发配置文件 */