程序员的资源宝库

网站首页 > gitee 正文

一步一步实现若依框架--01建立多模块项目

sanyeah 2024-03-29 17:41:10 gitee 9 ℃ 0 评论

  在项目中使用到了若依,想从头实现一下。思路就是把项目中涉及到的知识内容单独拎出来理解和做测试,然后再合到系统里去,重点的地方会将涉及到的知识进行总结和扩展。顺序是由后端到前端。 大概思路是:

* 建立多模块项目、修改包依赖关系,整理POM文件依赖          √
* 增加基础公用code
* 增加基础权限设置
* 增加代码生成功能
* 增加其他模块
* 升级(mybatis plus、camunda、plus版本的功能)

* 基本框架
* 工具类
* 权限页面
* vue3版本

  第一步,建立多模块项目。

  参照若依代码,建立多模块项目,generator和quartz可以先不建立,后面添加。各模块依赖关系如下:

  

 

1)admin作为对外的一层。common是封装的公共类库。system是系统权限(或者说是系统后台管理)的基础功能,在admin中添加自定义模块的引用。不太好理解的是framework模块,可以看成是把系统的公共部分进行了拆分,其他模块可能会用到的放到common中,一些系统的基础配置在程序启动时就会进行处理的内容,比如redis、mybatis这些放到framework里,不需要其他模块引用。
 
 2)dependencyManagement元素提供了一种管理依赖版本号的方式。在dependencyManagement元素中声明所依赖的jar包的版本号等信息, 那么所有子项目再次引入此依赖jar包时则无需显式的列出版本号。Maven会沿着父子层级向上寻找拥有dependencyManagement 元素的项目,然后使用它指定的版本号。dependencyManagement中定义的只是依赖的声明,并不实现引入,因此子项目需要显式的声明需要用的依赖。
 
    比如:
  1. 在子项目中想要引入hutool,由于每个子项目要用,所以在父工程的pom文件中向depdendencies中添加dependency;这样子项目由于继承自父项目,也就都引用上了;子项目不需要在pom中写任何依赖
  1. 在子项目中想要引入mybatis,由于不是全部子项目都会去访问数据库,所以在父工程的pom文件中向dependencyManagement添加dependency,指定版本号,这样在其子项目需要去添加依赖,但是不需要指定版本号
3)单元测试,依赖springboot环境的测试需要在admin中进行;如果只是一些工具类的测试不需要spring环境初始化可以在自己的模块中进行
4)  这种分层方式,和按照service->dao->entity 的常见三层结构不太一样,可以看做是按照功能模块功能进行纵向拆分,便于微服务化。由于微服务拆分后各功能范围变小,横向拆分也就没那么重要了。各功能模块公共依赖部分由framework或common提供。
 
 代码地址:
  https://github.com/hunji/RYMirror/releases/tag/1.0%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84
 

参考实现:

若依官网    http://doc.ruoyi.vip/ruoyi-vue/

比较细的若依框架讲解  https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5OTgxOTg0Ng==&action=getalbum&album_id=2441331662295973890&scene=173&from_msgid=2247483925&from_itemidx=1&count=3&nolastread=1#wechat_redirect

这位江南大哥讲的很好是从spring security追过来的,这系列文章很多思路和内容也是来源于此,五星推荐    https://github.com/lenve/tienchin-video

基础内容查阅    https://pdai.tech/md/db/nosql-redis/db-redis-data-types.html

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表