Crushlevel-server/sonic-cow/bootstrap-guide.md

42 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目定制化手册
## 定制化步骤
* 确定项目依赖的组件比如redis,mysql,rabbitmq, 然后搜索`TODO`把不需要的依赖和多余的目录移除.
* 确定项目依赖组件后, 请在application-${env}中配置对应的资源地址.
* 运行单元测试, 保证单元测试全部通过.
## 模块介绍
### common
在该模块添加其他模块共用的lib例如common-lib以及常用的guavafastjson等<br>
主要是考虑到项目可能有多个部署的模块通过将共用的lib定义在common模块中可以简化其他模块的配置
### server
可部署的后端服务包含SpringBoot的入口以及该服务相关的clientconfigentitydao, servicecontroller等
#### config
定义配置信息和错误code
#### client
定义访问依赖的第三方服务的客户端接口. 访问依赖方服务,必须通过Client接口封装,禁止业务代码调用http相关逻辑.
#### entity
定义领域对象.
#### service
主要定义业务逻辑代码
#### controller
对外暴露的API定义
#### test
单元测试模块. 为了保证交付的质量和服务的演进,核心逻辑需要编写单元测试,
##### 目录文件
- java
- ClientStubs 第三方依赖客户端的Stub实现.
- BaseTest 单元测试基类. 建议每个单元测试从它基础
- resources
- mysql 存放数据库的schema和测试数据. schema文件可以作为schema变化的版本记录, 同时也是H2数据库初始化脚本.
### integration-test
集成测试测试已部署服务的APIs