项目结构分层
Sofaboot 中SpringMVC分层
App
biz
service-impl(manager层接口的实现以及VO和model的转换)
shared(manager层的接口)
common
dal(数据库层面,比如mybatis相关代码)
service
façade(给其他微服务模块提供的接口)
integration(集成其他模块接口的代理,或者mq等中间件的代码汇聚)
core
model(领域模型及枚举等)
service(service层及仓储层代码)
test
单测,后端代码主要依赖单测保证质量,测试用例保证80%的行覆盖率和70%的分支覆盖率,100%的通过率。所有测试数据均不能影响数据库中现有的数据,测试完成后需清理测试数据(数据准备和清理工作不需要开发人员处理,开发人指定数据及相关条件,由测试框架的前置处理器和后置处理器处理,整个测试框架是基于testNG和动态代理实现的)。
web
web的controller和config等
一个完整的请求的代码流程是controller->manager->service->repository->dal,其中manager层或service层可能会调integration层的接口
1) controller中的代码非常简洁,业务逻辑提取到manager层,manager层需要校验入参,调用service,将处理的结果转换成VO。
2) integration层,处理集成其他模块的接口或处理mq