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、约定优先于配置,提供各种默认配置来简化项目配置。 内嵌Tomcat、Jetty、Undertow等web容器,无需以war包形式部署。Spring Boot2.x版本环境要求必须是jdk8或以上版本,服务器Tomcat8或以上版本
Spring Security、
1、介绍Spring Security
是一个能够为基于Spring
的企业应用系统提供声明式的安全访问控制解决方案的安全框架。
2、功能Authentication
认证,就是用户登录Authorization
授权,判断用户拥有什么权限,可以访问什么资源
安全防护,跨站脚本攻击,session
攻击等
非常容易结合Spring
进行使用
3、Spring Security
与Shiro
的区别
相同点
1、认证功能
2、授权功能
3、加密功能
4、会话管理
5、缓存支持
6、rememberMe功能
....
不同点
优点:
1、Spring Security基于Spring开发,项目如果使用Spring作为基础,配合Spring Security做权限更加方便。而Shiro需要和Spring进行整合开发
2、Spring Security功能比Shiro更加丰富,例如安全防护方面
3、Spring Security社区资源相对比Shiro更加丰富
缺点:
1)Shiro的配置和使用比较简单,Spring Security上手复杂些
2)Shiro依赖性低,不需要依赖任何框架和容器,可以独立运行。Spring Security依赖Spring容器
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
- ES6:Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。
- vue-cli:Vue的脚手架工具,用于自动生成Vue项目的目录及文件。
- vue-router: Vue提供的前端路由工具,利用其我们实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离。
- vuex:Vue提供的状态管理工具,用于统一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象。
- npm:node.js的包管理工具,用于统一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。
- element-ui:基于MVVM框架Vue开源出来的一套前端ui组件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义