java编程开发之若依框架 --- 简介
基于springboot的后台管理系统半成品
https://gitee.com/y_project/projects
https://github.com/yangzongzhuan?tab=repositories
http://doc.ruoyi.vip/ruoyi/document/xmkz.html
http://doc.ruoyi.vip/ruoyi-vue/document/xmkz.html
http://doc.ruoyi.vip/ruoyi-app/document/xmkz.html
http://doc.ruoyi.vip/ruoyi-cloud/document/xmkz.html
- 若依官网:http://ruoyi.vip(opens new window)
- 演示地址:http://vue.ruoyi.vip(opens new window)
- 代码下载:https://gitee.com/y_project/RuoYi-Vue
-
- RuoYi 官网地址:http://ruoyi.vip(opens new window)
- RuoYi 在线文档:http://doc.ruoyi.vip(opens new window)
- RuoYi 源码下载:https://gitee.com/y_project/RuoYi-Vue(opens new window)
- RuoYi 在线提问:https://gitee.com/y_project/RuoYi-Vue/issues(opens new window)
- RuoYi 博客:https://www.oschina.net/p/ruoyi
我最喜欢的一款框架,作者在没有适合自己的软件下自己开发了一套。在通俗讲就是利用多种编程语言和编程框架开发的一款后台管理系统,只有基础的功能,包括代码生成,菜单登录,用户角色权限管理等等。具体的业务代码还是没有的,需要我们手动添加上去。
在开发一个web系统时我们要考虑,前端采用什么技术,后端采用什么技术,数据库采用什么技术,这些子系统间用什么格式传输数据
版本与架构
若依有多种语言和多个架构创建的版本。
而且还有基于若依开发的成品软件也很多
不同的架构有
有vue、spring cloud、uniapp、多模块版本、精简版本
不同的语言有
RuoYi-Python
RuoYi-Net
RuoYi-Go
RuoYi-PHP
RuoYi-Antdv 若依Ant Design Vue前端版本
RuoYi-Activiti
RuoYi-Cms
RuoYi-JFlow 基于若依驰骋BPM流程引擎版本
功能简介
多种数据库支持,简单配置即可实现切换。
权限管理,支持自定义数据权限、菜单权限和按钮权限。数据权限需要我们自己开发。
对常用js插件进行二次封装,使js代码变得简洁,更加易维护
完全响应式布局,依据不同的分辨率显示不同的内容
代码 模块化设计
- 用户管理:创建用户,并分配用户的部门、岗位、角色
- 部门管理:创建部门
- 岗位管理:创建岗位
- 菜单管理:创建目录、菜单、按钮,配置权限标识。目录就是后台右侧的目录,菜单是二级目录下可见页面的菜单,按钮就是菜单页面里的增加,修改,删除按钮
- 角色管理:用于给不同角色赋予不同菜单,以便于分配给用户
- 字典管理:对系统中经常使用的一些较为固定的数据进行同一维护。比如行业分类,产品分类,性别等等
- 参数管理:配置系统常用参数
- 通知公告:发通知。测试没有实际作用,并不会为每个用户通知。
- 操作日志:按钮点击操作等等
- 登录日志:登录ip与时间记录
- 在线用户:当前登录用户 、时间和会话
- 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
- 代码生成:依据创建并导入的数据库,前后端代码的生成CRUD操作到前端,包括MVC代码生成、菜单生成等。
- 系统接口:根据业务代码自动生成相关的api接口文档。
- 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
- 缓存监控:对系统的缓存信息查询,命令统计等。
- 在线构建器:拖动表单元素生成相应的Vue代码。
- 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
在详细介绍若依vue前,我们有必要明确下面技术名词的翻译。
spring、是java流行的一种框架,提供IoC和AOP的核心功能。
控制反转(Inversion of Control,IoC)是一种设计模式,可以简单理解为从“我来创建和管理对象”转变成“由系统来创建和管理对象”。以电脑作为例子,我们以前可能会在程序中自己创建各种对象,然后像组装电脑一样把这些对象组装起来。而 IoC 的方式就像是我们买了一个品牌电脑,电脑制造商给我们预安装了很多软件,我们只需要在上面办公即可,而不必再自己去安装各种软件。
面向切面编程(Aspect-Oriented Programming,AOP)则可以理解为在对代码进行编写的时候,通过定义一些“切面”,对代码的执行进行拦截并加以修改或增强。打个比方,假如我们想在程序中对各种方法执行的时间进行计时,我们可以使用 AOP 的方式,将计时这个逻辑抽象出来定义一个切面,然后将其与各种方法进行关联,这样就能在代码中实现对各种方法的计时,而不必在每个方法中写计时逻辑。
综合来说,控制反转和面向切面编程是两种关注点分离的设计模式,可以帮助开发者实现更好的代码管理、降低代码耦合度、提高代码复用性、降低维护成本、提高程序可扩展性等。
SpringBoot、简化spring框架开发的配置过程
Spring Security、提供用户登录的身份验证功能
Jwt、用于前端向后端传输身份验证信息的规范
Vue 基于js的前端框架,提供数据绑定、模板引擎,两种核心功能,
Vue 的基本思想是“响应式编程”,即将用户界面和数据状态绑定在一起,当数据状态发生改变时,界面也会自动更新。
Vue 使用了类似于声明式渲染的模板语法,就是将页面的动态生成部分进行声明。
MyBatis 是 使用xml文件编写sql代码的方式。
Java EE 8 ,它不是一种技术而是一堆规范,由不同的javaweb容器厂家自行实现。
Servlet 是Java EE核心标准之一
Maven 是java代码构建工具
Hibernate Validation 是javabean校验工具
Druid 是数据库连接池,有了它就不必为每个sql创建一个tcp链接,可复用‘
Axios 是前端发送请求的库
Element是前端ui框架,封装了很多ui