天天看点

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

若依框架是什么?

        其实就是一套后台管理系统,它采用了Spring Boot和Shiro安全控制框架,以及Thymeleaf模板。

        Spring Boot是一个基于Spring开发的框架,它继承了Spring原有的功能特性,并且简化了Spring应用的搭建。解决了依赖包的版本冲突,摈弃了Spring的不稳定性。Spring Boot整合了很多优秀的框架,不用我们自己手动的去写纷繁复杂的xml配置,然后进行配置。针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置,只需告诉Spring Boot需要什么功能,它就能引入需要的库。数据库、前端、后端应有尽有,还可以在代码基础上自行扩展,支持权限控制!重复的增删、改查很耗时费力,用若依可视化的代码生成器,生成基础代码,广大攻城狮们只需写代码就能完成整体应用程序,无需传统项目构建。仅需按照以下步骤操作:

第一步,数据库创建表,加上相应注释(注意是表的注释)。

第二步,登陆若依导入表。

第三步,编辑相应的信息:各字段的插入、编辑、列表页、是否要查询,页面显示的文本框、下拉列表还是按钮。基本信息的表名、作者、类名的设置。生成信息的文件路径、业务名、相应的包等。

第四步,将生成的文件放入相应的位置。

若依使用的安全框架是什么呢?

一篇适合小白的Shiro教程_潮汐先生的博客-CSDN博客

当然,再好的软件,也需要安全保证。Shiro,它就是若依的一个强大易于使用的安全框架。具备认证、授权、加密、缓存等功能。认证通常是指用户身份识别,俗称用户登录;授权即为权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限;加密,是保护数据的安全性,保护或者隐藏数据防止被偷窃,如密码加密存储到数据库,而不是明文存储;缓存:用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率。对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro要简单的多。例:处理一个Subject流程图

若依采用的模板又是什么呢?

Thymeleaf模板,这是一个用于Web和Java的模板引擎,可轻松与Spring MVC等Web框架,进行集成作为Web应用的模板引擎,能够处理HTML、XML、JavaScript、CSS甚至纯文本,并且能直接在浏览器打开并正确显示模板页面,不需要启动整个Web应用。Thymeleaf的可扩展性很强。,可以用它定义自己的模板属性集合,从而计算自定义表达式并使用自定义逻辑。这就意味着Thymeleaf还可以作为模板引擎框架。其最大的特点是:以自然模板的概念为基础,将其逻辑注入模板文件,提供一种可维护的模板创建方式。为实现这一目标,它其方式不会影响模板被用作设计原型。缩小了设计和开发团队之间的差距,设计沟通更加顺畅。

综上,若依框架在我们软件开发过程中发挥着重要作用。最重要的一点就是:规范了软件开发的基本框架,模块化,减少返工,提高效率。项目规范贯穿整个流程,项目开发工程结束了,还不算真正意义上的完工,毕竟还有后期维护、二期开发,当然其中不乏前任离职,后面同事再接手的情况,如何迅速了解规范,传承规范?这时,框架就起到一个规范的作用,可以让我们能在最短的时间内,掌握最多的数据,灵活删减、增加,更新、修改方案,少走弯路,事半功倍。

架构图

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

========================================================================

前期准备工作

1.电脑上JDK 、Maven、Mysql、Node、IDEA、Git这些基本的开发环境必备已经安装完成。

JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 10
nacos >= 1.1.0 (ruoyi-cloud >= 3.0.0需要下载nacos >= 2.x.x版本)
sentinel >= 1.6.0
           

2.项目需要连接Redis,所以需要在本机安装Redis服务端:

Windows中Redis的下载安装与修改密码并启动:

Windows中Redis的下载安装与修改密码并启动_霸道流氓气质的博客-CSDN博客

注意:因为首页验证码是存储在Redis中,你尝试不启动Redis你就会发现首页没有图形验证码

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

3.项目需要Nacos并需要持久化到Mysql数据库。

Nacos简介、下载与配置持久化到Mysql:

Nacos简介、下载与配置持久化到Mysql_霸道流氓气质的博客-CSDN博客

注意这里的持久化连接的数据库是Nacos所带的初始化的数据库,这里需要连接若依的数据库,所以只需要在本地配置好Nacos,等待若依的数据库新建完成再连接若依的数据库。

拉取项目代码

项目地址:

RuoYi-Cloud: 🎉 基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统,同时提供了 Vue3 的版本

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 复制链接,点击IDEA上面的VCS选择【Get From Version Control...】

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 将Ruoyi-Cloud的链接复制进去,点击确定。

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 选择Trust Project【相信项目】

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

等待代码全部克隆到本地IDEA中,项目目录如下

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

初始化数据库

在上面下载的源码的sql文件夹下有三个sql文件

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 打开Navicat连接本地Mysql数据库

新建数据库ry-cloud,然后在此数据库下执行ry_20220814.sql和quartz.sql这两个sql文件。

注意:别执行错了。

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

上面的数据是系统运行时的一些基础数据。

然后再新建数据库ry-config,在此数据库下执行ry_config_20220510.sql这个sql文件。

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

这个数据库就是前面nacos进行数据持久化到Mysql数据库的数据库。

配置Nacos持久化到数据库

来到Nacos的解压目录下的conf下的application.properties文件中,【找到自己的nacos安装目录】

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

将连接到外置本地数据库的代码去掉注释并修改为

自己的数据库和用户名和密码【跟图片中进行一一比对,并且跟自己有关的就相应的改变一哈】

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 找到nacos下的bin目录下的startup.cmd【nacos启动脚本】

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 修改启动模式为:standalone 。

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 然后参照上面的博客启动Nacos【点击nacos/bin/startup.cmd进行启动】

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

直接复制上面那个链接也行, 打来浏览器输入:

http://localhost:8848/nacos

也行。

nacos首页:登录的用户名和密码都为nacos

登录成功之后

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

此时项目中的所有的配置文件都会显示,然后从上往下挨个编辑,把设计到连接Mysql和Redis的所有地方,改为自己对应的用户名和密码。

以网关的配置文件ruoyi-gateway-dev.yml为例

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

将redis改为自己的端口和密码,点击发布即可。

同样的以认证的配置文件ruoyi-auth-dev.yml

将redis和mysql都修改为自己所对应的。

后端项目启动

在启动后端项目之前,你需要本地启动Redis服务端,以及Nacos

然后在IDEA中找到

ruoyi-gateway下的启动类RuoYiGatewayApplication启动

ruoyi-auth下的启动类RuoYiAuthApplication启动

ruoyi-modules下的ruoyi-system下的RuoYiSystemApplication并启动

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

如果这三个模块都没有报错则后端启动成

并且可以在Nacos中发现这三个服务

前端项目启动

前端项目的位置在ruoyi-ui下

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 右击此项目-Open in Terminal,输入

npm install

安装项目依赖,然后

npm run dev

运行前端项目

默认端口应该是80端口,这里80端口被占用,所以运行在了81端口

打开浏览器输入实际运行时输出的端口

http://localhost

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

输入验证码点击登录

至此微服务版开发环境部署成功。

=================================

可能遇到的问题。

如果你在若依新加的模块【例如ruoyi-purchase】

你要在nacos中的ruoyi-gateway-dev.yml中进行配置路由,而且要在nacos配置文件中新加一个ruoyi-purchase-dev.yml【内容复制ruoyi-system-dev.yml进行相应的修改】

举例:

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 ruoyi-purchase的配置文件配置服务名

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 新增的路由【模仿,不是照抄】,下面basic就是另一个新增的模块

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?

 在nacos配置文件中新加一个ruoyi-purchase-dev.yml【内容复制ruoyi-system-dev.yml进行相应的修改】

RuoYi-Cloud若依微服务版快速搭建【细的不行】若依框架是什么?若依使用的安全框架是什么呢?若依采用的模板又是什么呢?