spring开发实践手记

本文介绍了Spring开发中的最佳实践,包括项目结构分层,使用Asserts进行异常判断,多线程的正确管理,通过策略模式避免if-else,利用AOP处理异常、日志和参数校验,以及如何运用观察者模式实现业务解耦。详细讨论了ThreadPoolExecutor的使用和AOP在缓存和日志管理中的应用。
摘要由CSDN通过智能技术生成

项目结构分层

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值