基础框架可以理解为建立一个项目所需的基础框架,这个基础框架为凝聚了之前开发项目的通用、共性的方法、工具、技术等组成的代码包。
现有我们公司有两类基础框架:
(1)基于web应用的基础框架
(2)基于数据迁移场景的基础框架
大家可根据具体的实际场景制定试用自己的基础框架。
做开发的同事可能都知道,每次研究一项新技术含定时任务、权限、文件上传等这类都需要花时间研究与调试。但是只要第一次研究通了,后面开发效率就快了。
若对以往的项目不进行总结:
A写了定时任务相关代码 B 写了文件上传相关代码 C写了权限相关代码
现有D项目需要同时有定时任务、文件上传、权限管理相关功能,如何处理?
传统方式:逐一搜寻A、B、C复制相关代码,此效率极为低下,因此基础框架就有了必要性。
基础框架方式:封装相关代码,形成common层,并搭建模板项目作为基础框架供其他项目调用
力软、JEECGBOOT、若依、芋道。其中力软为付费产品,JEECGBOOT的码云star为4.1k,若依的码云star为30.9k,芋道的码云star为13.8K。综合可见芋道和若依框架分值相对较高。
官方网站:RuoYi 若依官方网站 |后台管理系统|权限管理系统|快速开发框架|企业管理系统|开源框架|微服务框架|前后端分离框架|开源后台系统|RuoYi|RuoYi-Vue|RuoYi-Cloud|RuoYi框架|RuoYi开源|RuoYi视频|若依视频|RuoYi开发文档|若依开发文档|Java开源框架|Java|SpringBoot|SrpingBoot2.0|SrpingCloud|Alibaba|MyBatis|Shiro|OAuth2.0|Thymeleaf|BootStrap|Vue|Element-UI||www.ruoyi.viphttp://www.ruoyi.vip/
主要包含:RuoYi RuoYi-Vue RuoYi-Cloud,分别为快速开发版,前后端分离版,微服务版。
生态齐全,并拥有拓展生态含uniapp版本、pgsql版本、mybaitplus版本、国产数据库版本、react、ant desing版本等
主要层及架构
1、系统环境
2、主框架
3、持久层
4、视图层
主要的工具如下
项目地址
ruoyi-vue-pro: 官方推荐 RuoYi-Vue 全新 Pro 版本,优化重构所有功能。基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序,支持 RBAC 动态权限、数据权限、SaaS 多租户、Flowable 工作流、三方登录、支付、短信、商城等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!https://gitee.com/zhijiantianya/ruoyi-vue-pro?_from=gitee_search
1、功能简洁包含项目需要的最小框架:定时任务、系统参数、字典、通知公告、代码生成,启动项目速度快
2、具备完整的生态,查看其他语言代码方便
1、功能模块多,集成mapstruct、mybaitplus、Oauth2 、短信、错误码,启动速度慢
2、集成特定场景应用:支付、工作流
3、框架复杂,一些场景排查问题较难,有严格的VO 与APP\ADMIN接口区分,以及业务端和内部接口区分。代码框架接口清晰便捷明显,系统之间相互调用较多。
4、自动编写单元测试,每次打包时会利用的sqlite数据库进行单元测试。
建议小团队使用若依框架,以下内容为亲自使用总结
(1)开发速度快,问题定位快
(2)可寻找任何语言开源替代(例如vue3的框架可能在IE9下不支持,需要换VUE2或者其他框架),或者项目团队成员只会net或python语言,这些都可以找到替代产品;国产化软件也可以找到相关替代。
建议大团队使用芋道框架
(1)APP端和pc端严格区分;业务API与前端接口严格区分
(2)有较多开源的拓展功能,集成了Hutool工具包,支持包含文件上传、小程序登录三方登录、工作流、短信、多租户、支付等功能。
(3)初始内置多种数据库脚本,可天然支持多种数据库含国产数据库。
目前用若依的mybaitplus做了两个示例,分别包含单表查询、多表查询的案例。中间使用了代码生成方法。
(1)首先新建数据库表
(2)点开代码生成页面,配置列表、查询、搜索字段,对于字典或者时间范围类型等条件可对应进行配置
(3)生成代码,前端拷贝、后端拷贝。
(1)后端首先以单表模式生成增删改查
(2)在对应controller增加新的查询接口
(3)如果是表格页面,则前端复制页面的vue和api,直接进行修改及编写;表单可借助form-generator进行搭建。
具体若依案例项目含(单表及多表案例)的项目代码见链接.
若依mybaitplus基础框架