Java后台项目的顶层设计思路.pdfVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java后台项⽬的顶层设计思路 设计初衷 1.抽象单表的增删查改功能。 2.设计⼀套适⽤于⼤部分项⽬的开发规范。 3.提供⼀套通⽤的⽇志处理和异常处理⽅式。 4.通⽤功能强⼤并保持可扩展,与业务⽆关。 设计原则 1.代码简单易懂(只抽象单表的分页查询,列表查询,删除,新增,编辑,详情功能) 2.接⼝⾼度可扩展(⼤部分后台项⽬可以基于此进⾏⼆次开发) 3.规范开发(提供⼀套适⽤于⼤部分后台项⽬的规范) demo⾛马观花 1.业务Controller类继承AbstractController(AbstractController有通⽤实现⽅法) 2.业务Service接⼝继承ACommonService(定义了数据转换接⼝和基本的default⽅法) 3.业务ServiceImpl类实现业务Service接⼝(实现数据的转换接⼝) 4.业务Mapper继承BaseMapper(mybatis plus提供了接⼝⽀持) 开发类的相关介绍 1.controller⼊⼝ 1)AbstractController抽象类实现了增删改查接⼝。 2)SpOfferVO是返回给前端的实体类。 3)SpOfferDTO前端传进的参数实体,⽤于编辑和新增功能。 4)SpOfferQuery列表查询时传进的查询条件。 5)commonService是AbstractController属性。 2.AbstractController 1)抽象类实现删除,编辑,新增,分页查询,详情功能。 3.service⼊⼝ 1)SpOfferServiceImpl实例类专注于各层实体类的转换。 2)BeanUtil⼯具类简化Entity,DTO,VO之间的相互转化。 3)SpOfferServiceImpl中增删改查⽅法的具体功能都会转发到⼀个顶层接⼝去实现。 4)SpOfferService接⼝会继承顶层接⼝ 4.顶层接⼝ACommonService 1)SpOfferService接⼝继承于ACommonService 2)ACommonService接⼝定义DTO,VO,DTO互相之间转换的规范,需要SpOfferServiceImpl去实现。 3)ACommonService会继承另⼀个顶层接⼝AEntityService负责实现增删查改的⽅法 5.顶层接⼝AEntityService 1)从图上看AEntityService接⼝有增删改查⽅法的实现 2)图上所有⽅法的实现依赖于JDK8提供的特性,接⼝可以有实现⽅法,实现⽅法只需加上default关键字。 3)分析getEntityPage(query,mapper),query封装了查询规则,mapper(BaseMapper)依赖于mybatis plus提供的特性。 DTO,VO,Query,Entity实体类设计意义 1.Entity Entity映射数据库的表名,表字段,原因是实体类字段命名规范和数据库表字段命名规范不⼀致,映射的逻辑是由hibernate和mybatis plus实现。 2.Query Query封装了查询条件的信息,应⽤于分页查询和列表查询,设计意义在于service层可以去除臃肿的查询逻辑,把查询逻辑转移到Query 层中。 3.VO VO层设计初衷是解决数据库相关表数据和前端列表页⾯数据不⼀致的问题,例如VO层含可及多个表的数据。 4.DTO DTO主要应⽤于外部数据传输到数据库,例如编辑和新增以及在多个Service层流转,最终数据都会流向到数据库的各个表中,当然在⼊库 之前得保证数据得合法性,所以DTO的另⼀个意义是做数据校验,把校验逻辑从service层剥离。 ⽇志处理 1)⽇志处理这⾥应⽤了HandlerInterceptor拦截器 2)拦截中⽣成RequestId,标识唯⼀请求 3)拦截中解析request请求配置,并把信息⼊库 异常处理 1)异常处理使⽤了RestControllerAdvice注解 2)若系统异常,这⾥拦截了web请求的异常,并统⼀处理返回结课。 3)解析异常数据并⼊库。 开发的顶层接⼝源码后⾯会发布到gitHub上,敬请期待。

文档评论(0)

134****3224 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档