ruoyi框架快速入门(Java开发框架选型对比:ruoyi与yudao框架)
1 、基础开发框架
1.1 什么是基础开发框架?
基础框架可以理解为建立一个项目所需的基础框架 ,这个基础框架为凝聚了之前开发项目的通用 、共性的方法 、工具 、技术等组成的代码包 。
现有我们公司有两类基础框架:
(1)基于web应用的基础框架(2)基于数据迁移场景的基础框架
大家可根据具体的实际场景制定试用自己的基础框架 。
1.2 为什么需要基础框架?
做开发的同事可能都知道 ,每次研究一项新技术含定时任务 、权限 、文件上传等这类都需要花时间研究与调试 。但是只要第一次研究通了 ,后面开发效率就快了 。
若对以往的项目不进行总结:
A写了定时任务相关代码 B 写了文件上传相关代码 C写了权限相关代码
现有D项目需要同时有定时任务 、文件上传 、权限管理相关功能 ,如何处理?
传统方式:逐一搜寻A 、B 、C复制相关代码 ,此效率极为低下 ,因此基础框架就有了必要性 。
基础框架方式:封装相关代码 ,形成common层 ,并搭建模板项目作为基础框架供其他项目调用
1.3 现有基础框架有哪些?
力软 、JEECGBOOT 、若依、芋道 。其中力软为付费产品 ,JEECGBOOT的码云star为4.1k ,若依的码云star为30.9k ,芋道的码云star为13.8K 。综合可见芋道和若依框架分值相对较高 。
2 若依框架
官方网站: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版本等
2.1前端页面
用户管理:用户是系统操作者,该功能主要完成系统用户配置 。 部门管理:配置系统组织机构(公司 、部门 、小组) ,树结构展现支持数据权限 。 岗位管理:配置系统用户所属担任职务 。 菜单管理:配置系统菜单 ,操作权限 ,按钮权限标识等。 角色管理:角色菜单权限分配 、设置角色按机构进行数据范围权限划分 。 字典管理:对系统中经常使用的一些较为固定的数据进行维护 。 参数管理:对系统动态配置常用参数。 通知公告:系统通知公告信息发布维护 。 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询 。 登录日志:系统登录日志记录查询包含登录异常 。 在线用户:当前系统中活跃用户状态监控 。 定时任务:在线(添加 、修改 、删除)任务调度包含执行结果日志 。 代码生成:前后端代码的生成(java 、html 、xml 、sql)支持CRUD下载 。 系统接口:根据业务代码自动生成相关的api接口文档 。 服务监控:监视当前系统CPU 、内存 、磁盘、堆栈等相关信息 。 缓存监控:对系统的缓存信息查询 ,命令统计等 。 在线构建器:拖动表单元素生成相应的Vue代码 。 连接池监视:监视当期系统数据库连接池状态 ,可进行分析SQL找出系统性能瓶颈 。2.2系统架构
主要层及架构
1 、系统环境
Java EE 8 Servlet 3.0 Apache Maven 32 、主框架
Spring Boot 2.2.x Spring Framework 5.2.x Spring Security 5.2.x3、持久层
Apache MyBatis 3.5.x Hibernate Validation 6.0.x Alibaba Druid 1.2.x4 、视图层
Vue 2.6.x Axios 0.21.x Element 2.15.x主要的工具如下
3 、芋道框架
项目地址
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
3.1 前端页面
3.2 功能清单
后端采用 Spring Boot 、MySQL + MyBatis Plus 、Redis + Redisson 。 数据库可使用 MySQL 、Oracle、PostgreSQL 、SQL Server 、MariaDB、国产达梦 DM 、TiDB 等 权限认证使用 Spring Security & Token & Redis ,支持多终端 、多种用户的认证系统 。 支持加载动态权限菜单 ,按钮级别权限控制 ,本地缓存提升性能。 支持 SaaS 多租户系统 ,可自定义每个租户的权限,提供透明化的多租户底层封装 。 工作流使用 Flowable ,支持动态表单 、在线设计流程 、会签 / 或签 、多种任务分配方式 。 高效率开发 ,使用代码生成器可以一键生成前后端代码 + 单元测试 + Swagger 接口文档 + Validator 参数校验 。 集成微信小程序 、微信公众号 、企业微信 、钉钉等三方登陆,集成支付宝 、微信等支付与退款 。 集成阿里云 、腾讯云 、云片等短信渠道 ,集成 MinIO 、阿里云、腾讯云 、七牛云等云存储服务 。4 框架对比
4.1 若依框架优势
1 、功能简洁包含项目需要的最小框架:定时任务、系统参数 、字典 、通知公告 、代码生成 ,启动项目速度快
2 、具备完整的生态 ,查看其他语言代码方便
4.2 芋道框架优势
1 、功能模块多 ,集成mapstruct 、mybaitplus 、Oauth2 、短信 、错误码 ,启动速度慢
2 、集成特定场景应用:支付 、工作流
3 、框架复杂 ,一些场景排查问题较难 ,有严格的VO 与APP\ADMIN接口区分,以及业务端和内部接口区分 。代码框架接口清晰便捷明显 ,系统之间相互调用较多 。
4、自动编写单元测试 ,每次打包时会利用的sqlite数据库进行单元测试 。
5 框架选型
建议小团队使用若依框架 ,以下内容为亲自使用总结
(1)开发速度快 ,问题定位快
(2)可寻找任何语言开源替代(例如vue3的框架可能在IE9下不支持 ,需要换VUE2或者其他框架),或者项目团队成员只会net或python语言 ,这些都可以找到替代产品;国产化软件也可以找到相关替代 。
建议大团队使用芋道框架
(1)APP端和pc端严格区分;业务API与前端接口严格区分
(2)有较多开源的拓展功能 ,集成了Hutool工具包,支持包含文件上传 、小程序登录三方登录 、工作流、短信 、多租户 、支付等功能 。
(3)初始内置多种数据库脚本 ,可天然支持多种数据库含国产数据库 。
6 、若依基础框架项目分享
目前用若依的mybaitplus做了两个示例 ,分别包含单表查询 、多表查询的案例 。中间使用了代码生成方法。
6.1单表查询
(1)首先新建数据库表
(2)点开代码生成页面 ,配置列表 、查询 、搜索字段 ,对于字典或者时间范围类型等条件可对应进行配置
(3)生成代码 ,前端拷贝 、后端拷贝 。
6.2多表联合查询
(1)后端首先以单表模式生成增删改查
(2)在对应controller增加新的查询接口
(3)如果是表格页面 ,则前端复制页面的vue和api ,直接进行修改及编写;表单可借助form-generator进行搭建 。
具体若依案例项目含(单表及多表案例)的项目代码见链接.
若依mybaitplus基础框架
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!