57 lines
2.0 KiB
Markdown
57 lines
2.0 KiB
Markdown
## 系统上下文
|
||
|
||
这是一个 SpringBoot 框架的业务服务后端程序,它的主要业务为**
|
||
|
||
- 你可以通过 *.entity 包下的实体注释理解本项目实体业务逻辑
|
||
- 部分 timi-* 系列依赖属于本地项目,如果权限允许可以,你可以文件绝对路径 E:\IDEAProject\timi-* 访问他们的源码
|
||
- 使用 AppException 或 TimiException 时,如果是业务异常请使用 msgKey 多语言键,如果是技术异常请在 message 参数直接使用英语
|
||
|
||
## 技术栈和限制
|
||
|
||
- 运行时:JDK21
|
||
- 语言:Java
|
||
- 框架: SpringBoot
|
||
- 数据库:MySQL
|
||
- 持久层框架:MyBatis
|
||
- 缓存:Redis
|
||
|
||
## 硬性规定
|
||
|
||
- 仅使用上述工具。除非堆栈无法合理地解决外部依赖关系,否则不要引入外部依赖关系
|
||
- 在编写自定义实现之前,首选所选工具中的官方 API
|
||
- 该项目目前没有测试, 除非明确要求,否则不要添加测试
|
||
- 所有文字、评论和文档均为中文
|
||
- 单行 SQL 请直接使用 MyBatis 注解写在 Mapper 接口里
|
||
- 发生换行的 SQL 请写在 MyBatis xml 中,以便维护
|
||
- 要求输出接口文档时需要精简文档内容,用于 AIAgent 理解的文档
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
src/
|
||
main/java/com/e2ins/ms # 应用代码
|
||
annotation/ # 注解类或注解实现类
|
||
config/ # 配置
|
||
dbsource/ # 多数据源配置
|
||
controller/ # 接口控制器
|
||
entity/ # 实体
|
||
mapper/ # DAO 接口
|
||
service/ # 服务接口
|
||
implement/ # 服务接口实现
|
||
util/ # 工具
|
||
vo/ # 接口视图 Bean
|
||
```
|
||
|
||
## 做和不做
|
||
|
||
做
|
||
|
||
- 充分的接口参数校验
|
||
- 业务异常使用 AppException 抛出
|
||
- 涉及语言文本请添加中文映射到 src/main/resources/lang/app.lang,并使用 com.e2ins.ms.util.Multilingual 调用
|
||
|
||
不做
|
||
|
||
- 在没有充分理由的情况下添加外部库
|
||
- 用繁重的计算阻塞主线程, 卸载或推迟
|