接下来是对整体分层的分析,这样才知道每次的调用顺序和每个模块之间做了什么,要承担什么任务。尽管给了一些说明,但是看得不习惯,还是自己上手操作比较的实际,印象深刻。每个不同的任何机构都有自己一套的内部代码规范和命名法则和层次结构的定义,但是基本的定义差别应该不是太大,下面进行一个简单的分析(每个模块进行简单的分析,umps的内容比较的多,主要对这个模块):

模块整体的构造:
  1. clien
  2. common 不做介绍
  3. dao
  4. rpc-api
  5. rpc-service
  6. server 

    也不是给的文档完全不看啊,看还是多多少少看一些的,不然当对来说会费尽一点(大牛可以完全忽略这些)

dao子模块的分析

这个模块相对来说比较的简单,也是我们新建一个模块的时候首先建立的一个子模块,这个模块主要是创建dao的,在这个dao层下面一般有最基本的实体和dao的接口,包涵基本的crud。其中当然也有framemarker的生成类,这个就不做过多的赘述了。这个同时我也有个疑问目前还没搞懂,为什么要生成example类,平时我是真的没用到过,很少去接触jpa的东西。

server

这个模块怎么说呢,给我最大直观的感受就是,这是一个没有实现类的Java Web工程。 
1. webapp,很明显。 
2. 这个模块的resources配置文件相对来说是比较多的,每个文件的作用这个这次不多探究。 
3. 这个模块里面是主要做控制层的,你看嘛,controller层写里面好好的,主要负责参数的传递接收。 
4. 当然了,这个模块用到了swaggerUi,其实就类似一个postman,对后端人员来说开发测试相对比较方便,地址:ip:port/swagger-ui.html

  1. 但凡会一点开发的都知道基本的套路,先过一些过滤器,拦截器,然后到我们controller,做一些基本的数据处理,然后调用我们的service,好的此时我们就要用到我们的rpc-api模块的东西了
rpc-api

这个模块,简单总结一句话,全是接口(忽略mock(你要强调服务降级的话,那就加上吧),我大后端开发这么繁忙,还有时间给你前端写mock?自己mock去,呵呵)。为什么单独把这个模块的东西独立出来,就是把这接口暴露出来,用我们的dubbo,可以去看看server模块配置文件的dubbo-consumer的配置文件。

 <!-- 用户 --><dubbo:reference id="upmsUserService" interface="com.zheng.upms.rpc.api.UpmsUserService" mock="true"/>
  • 1
  • 2
  • 3

继续,接口,是接口的话当然就要去找它的实现类了,接下里就到了另一个模块:rpc-service

rpc-service

这个模块主要是两个包 
1. dao.mapper 
这个包里面很简单,就是存放我们的mapper.xml文件的,当然你也可以放在别的地方。 
2. rpc 
这里主要是service.impl,很明显了,impl,实现类。每个实现类都注入了许多的mapper(其实我更喜欢叫做dao,我是喜欢用,dao,daoImpl这种命名方式的),service里面来处理各种业务了,业务里面我们要用到不同的mapper,也就是用到我们dao模块的接口了。这个地方要注意一下,前后对应的东西,就是这里spring配置里面有一个dubbo-provide的配置文件,看见了吗?提供者,前面消费者,贴代码

 <!-- 用户 --><bean id="upmsUserService" class="com.zheng.upms.rpc.service.impl.UpmsUserServiceImpl"/><dubbo:service interface="com.zheng.upms.rpc.api.UpmsUserService" ref="upmsUserService" timeout="10000"/>
  • 1
  • 2
  • 3

以上,只是一个简单的模块熟悉。还有spring和很多框架的结合使用,配置文件和对应的实现方法和作用,本次不多叙述。有写错的地方还望指出不足之处,经验资历尚浅,还望包涵。原项目地址

https://github.com/shuzheng/zheng

zheng项目系统简单的分析记录相关推荐

  1. 关于zheng项目的学习步骤{ 转载 }

    第一篇 :https://blog.csdn.net/qq_30725371/article/details/80064413    zheng:环境搭建及项目部署 第二篇 :https://blog ...

  2. 项目实训 - 智能车系统 - 第七周记录

    项目实训 - 智能车系统 - 第七周记录 日期:4.04 – 4.10 项目进度 本周工作进展: 更换了底层的通信框架(shm) 熟悉速腾雷达驱动,以及ros相关驱动,为二次开发驱动做准备 1.更换底 ...

  3. Hadoop+hive+flask+echarts大数据可视化项目之hive环境搭建与系统数据的分析思路

    Hadoop+hive+flask+echarts大数据可视化项目(四) --------------hive环境搭建与系统数据的分析思路---------------- 关注过Hadoop+hive ...

  4. Web项目实战 | 购物系统v2.0 | 开发记录(九)Controller层返回数据的封装 | 商品批量操作 | 五表联立实现商品搜索

    --若发现文章内容有误,敬请指正,望不吝赐教,感谢! 文章目录 以往记录 运行环境 一.设计Bean用于Controller层返回数据 二.商品批量操作 2.1 批量操作的前端设计 2.2 批量操作的 ...

  5. Web项目实战 | 购物系统v2.0 | 开发记录(五)使用base64编码实现头像修改 | 用户个人信息修改 | JQuery动态提示

    文章目录 以往记录 一.运行环境 二.实现头像修改 三.用户个人信息修改 四.Bug & DeBug 以往记录 Web项目实战 | 购物系统v2.0 | 开发记录(一)需求分析 | 技术选型 ...

  6. 《你说对就队》第四次作业:项目需求调研与分析

    <你说对就队>第四次作业:项目需求调研与分析 内容 项目 这个作业属于哪个课程 [教师主页] 这个作业的要求在哪里 [作业要求] 团队名称 <你说对就队> 作业学习目标 1.探 ...

  7. 实验八 《Coderxiaoban团队》团队作业4:基于原型的团队项目需求调研与分析

    实验八 <Coderxiaoban团队>团队作业4:基于原型的团队项目需求调研与分析 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验八 团队作业4:基于 ...

  8. Java消息系统简单设计与实现

    前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息 ...

  9. 《小团团团队》第四次作业:项目需求调研与分析

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验八 团队作业4:基于原型的团队项目需求调研与分析 团队名称 小团团团队 作业学习目标 (1)体验以原型设计为基础的团队 ...

  10. ulimit限制 新系统_graylog日志分析系统上手教程

    日志分析系统可以实时收集.分析.监控日志并报警,当然也可以非实时的分析日志.splunk是功能强大且用起来最省心的,但是要收费,免费版有每天500M的限制,超过500M的日志就没法处理了.ELK系统是 ...

最新文章

  1. 移动端字体单位该使用px还是rem?
  2. python 最小二乘回归 高斯核_「机器学习」一文读懂线性回归、岭回归和Lasso回归...
  3. JDK源码(18)-System
  4. 微信Windows 3.3.0内测发布 可以刷朋友圈了
  5. CCNA红头发视频教程全集---91lab
  6. React Hooks 实现和由来以及解决的问题
  7. Struct嵌套使用
  8. 隆冬寒骨,风吹十一豪迈
  9. jaxb实现java对象与xml之间转换_JAXB实现XML与Java对象转换
  10. 关注SharePoint 2010 ,更要关注InfoPath 2010!
  11. mysql zf_ZF 连接 Mysql
  12. 最新楚琳web打印控件下载 - 2019适配所有浏览器
  13. Structs2文件上传以及预览
  14. openstack Juno安装——之手动安装
  15. uni-app tababr“+”突起按钮触发弹窗解决方案
  16. 40幅五彩缤纷的秋天风景摄影作品欣赏(下篇)
  17. 数据结构学习笔记——栈(1)定义理解
  18. NO.35——qq音乐全站分布式爬虫(一)
  19. 深度诗歌阅读:你永远是个孩子
  20. 爱国者新品发布 智能果汁机助力双创 居家创业双赢新产能

热门文章

  1. 我的世界java版地狱_我的世界怎么去地狱_Minecraft地狱门建造教程 - 我的世界中文站...
  2. Intellij IDEA 使用教程(十三)IDEA内存优化
  3. php显示某年某月某日,输入某年某月某日,判断这一天是这一年的第几天?
  4. unity关于警报灯光与警报声音的参考代码
  5. 人脸识别产品问题及改进方法
  6. wifi可以连接但是上不了网该怎么解决?
  7. Ubuntu18.04安装Adobe flash player
  8. Java实现进阶版凯撒密码
  9. zblog php 二级菜单,zblog博客系统二级(下拉)导航菜单设置教程
  10. mate桌面美化 Linux,ubuntu mate 15.04桌面的美化