RuoYi 框架学习


RuoYi 框架学习


正文

环境部署

准备工作

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

运行系统

后端运行

1、 前往Gitee下载页面(https://gitee.com/y_project/RuoYi-Cloud (opens new window))下载解压到工作目录

2、 导入到Eclipse,菜单 File -> Import,然后选择 Maven -> Existing Maven Projects,点击 Next> 按钮, 选择工作目录,然后点击 Finish 按钮,即可成功导入。 Eclipse会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定)

3、 创建数据库ry-cloud并导入数据脚本ry_2021xxxx.sql(必须),quartz.sql(可选)

4、 创建数据库ry-config并导入数据脚本ry_config_2021xxxx.sql(必须)

5、 配置nacos持久化,修改 conf/application.properties 文件,增加支持mysql数据源配置

提示
   
配置文件application.properties是在下载的nacos-server包conf目录下。
最新RuoYi-Cloud版本>=3.0.0需要下载的nacos-server必须>=2.x.x版本。
默认配置单机模式,nacos集群/多集群部署模式参考 (Nacos支持三种部署模式 (opens new window))

启动nacos,到 nacos-server-2.1.0\bin 安装子目录下执行 startup.cmd -m standalone

6、打开运行基础模块(启动没有先后顺序)

RuoYiGatewayApplication (网关模块 必须)
RuoYiAuthApplication (认证模块 必须)
RuoYiSystemApplication (系统模块 必须)
RuoYiMonitorApplication (监控中心 可选)
RuoYiGenApplication (代码生成 可选)
RuoYiJobApplication (定时任务 可选)
RuoYFileApplication (文件服务 可选)

7、集成seata分布式事务(可选配置,默认不启用)

创建数据库ry-seata并导入数据脚本ry_seata_2021xxxx.sql

前端运行

# 进入项目下的UI前端目录
cd ruoyi-ui

# 安装依赖
npm install

# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npmmirror.com

# 本地开发 启动项目
npm run dev

打开浏览器,输入:(http://localhost:80 (opens new window)) 默认账户/密码 admin/admin123)

若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功

项目搭建

后端服务

最基础的先安装好 Java 的 jdk 包环境。

还要提前安装好 Maven 和 nacos 。

以及 Redis,Redis默认密码为空,点击 redis-server.exe 后端运行。

上面这几个都安装在 Win10 中。

Git 拉取 RuoYi-Cloud 源码:

git clone https://gitee.com/y_project/RuoYi-Cloud.git

新建数据库(ry-cloud、ry-config、ry-quartz、ry-seata),并分别导入数据表结构和表数据:

修改 nacos 中的配置,文件 G:\WorkSoft\nacos\nacos-server-2.1.0\conf\application.properties 中:

### Connect URL of DB:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.56.108:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456

Mysql连接地址和密码写对。

可以看到一台服务器上的 nacos 只能为一个项目提供服务。

命令行中启动 nacos:

startup.cmd -m standalone

执行过程:

G:\>WorkSoft\nacos\nacos-server-2.1.0\bin\startup.cmd -m standalone
"nacos is starting with standalone"

         ,--.
       ,--.'|
   ,--,:  : |                                           Nacos 2.1.0
,`--.'`|  ' :                       ,---.               Running in stand alone mode, All function modules
|   :  :  | |                      '   ,'\   .--.--.    Port: 8848
:   |   \ | :  ,--.--.     ,---.  /   /   | /  /    '   Pid: 8352
|   : '  '; | /       \   /     \.   ; ,. :|  :  /`./   Console: http://192.168.0.62:8848/nacos/index.html
'   ' ;.    ;.--.  .-. | /    / ''   | |: :|  :  ;_
|   | | \   | \__\/: . ..    ' / '   | .; : \  \    `.      https://nacos.io
'   : |  ; .' ," .--.; |'   ; :__|   :    |  `----.   \
|   | '`--'  /  /  ,.  |'   | '.'|\   \  /  /  /`--'  /
'   : |     ;  :   .'   \   :    : `----'  '--'.     /
;   |.'     |  ,     .-./\   \  /            `--'---'
'---'        `--`---'     `----'

2023-02-02 20:36:59,093 INFO Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@22bd2039' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

2023-02-02 20:36:59,100 INFO Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

2023-02-02 20:36:59,751 INFO Tomcat initialized with port(s): 8848 (http)

2023-02-02 20:37:00,702 INFO Root WebApplicationContext: initialization completed in 7064 ms

2023-02-02 20:37:06,607 INFO Initializing ExecutorService 'applicationTaskExecutor'

2023-02-02 20:37:06,964 INFO Adding welcome page: class path resource [static/index.html]

2023-02-02 20:37:07,460 INFO Creating filter chain: Ant [pattern='/**'], []

2023-02-02 20:37:07,503 INFO Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1b30a54e, org.springframework.security.web.context.SecurityContextPersistenceFilter@45d4421d, org.springframework.security.web.header.HeaderWriterFilter@9b3be1c, org.springframework.security.web.csrf.CsrfFilter@66756662, org.springframework.security.web.authentication.logout.LogoutFilter@9e30f9a, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1537c744, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7db5b890, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@26275b46, org.springframework.security.web.session.SessionManagementFilter@69f080ad, org.springframework.security.web.access.ExceptionTranslationFilter@35fa450f]

2023-02-02 20:37:07,646 INFO Initializing ExecutorService 'taskScheduler'

2023-02-02 20:37:07,685 INFO Exposing 2 endpoint(s) beneath base path '/actuator'

2023-02-02 20:37:07,831 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'

2023-02-02 20:37:07,837 INFO Nacos started successfully in stand alone mode. use external storage

2023-02-02 20:37:29,746 INFO Initializing Servlet 'dispatcherServlet'

2023-02-02 20:37:29,770 INFO Completed initialization in 23 ms

浏览器中访问上面提示的地址:http://192.168.0.62:8848/nacos/index.html

修改 ruoyi-system-dev.yml 配置中的 主库数据源,完整如下:

# spring配置
spring:
  redis:
    host: localhost
    port: 6379
    password:
  datasource:
    druid:
      stat-view-servlet:
        enabled: true
        loginUsername: admin
        loginPassword: 123456
    dynamic:
      druid:
        initial-size: 5
        min-idle: 5
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1 FROM DUAL
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20
        filters: stat,slf4j
        connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      datasource:
          # 主库数据源
          master:
            driver-class-name: com.mysql.cj.jdbc.Driver
            url: jdbc:mysql://192.168.56.108:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
            username: root
            password: 123456
          # 从库数据源
          # slave:
            # username: 
            # password: 
            # url: 
            # driver-class-name: 

# mybatis配置
mybatis:
    # 搜索指定包别名
    typeAliasesPackage: com.ruoyi.system
    # 配置mapper的扫描,找到所有的mapper.xml映射文件
    mapperLocations: classpath:mapper/**/*.xml

# swagger配置
swagger:
  title: 系统模块接口文档
  license: Powered By ruoyi
  licenseUrl: https://ruoyi.vip

在 IDEA 中打开项目,并启动服务:

如果要自动生成代码,也在 nacos 中 把 ruoyi-gen-dev.yml 的 Mysql连接地址和密码写上。

前端服务

提前在 Win10 中安装好 nodejs 和 Vue ,参考 https://www.jb51.net/article/138020.htm

在 PhpStorm 打开该项目的 ruoyi-ui 文件夹,配置好后点击 Apply ,接下来会自动加载前端包依赖:

加载完毕后会在浏览器中自动打开项目地址。

其他

Vue https://cn.vuejs.org/

Element https://element.eleme.cn/#/zh-CN/component/installation






参考资料

RuoYi 官网地址 http://ruoyi.vip

RuoYi 在线文档 http://doc.ruoyi.vip

RuoYi 源码下载 https://gitee.com/y_project/RuoYi-Vue

RuoYi 在线提问 https://gitee.com/y_project/RuoYi-Vue/issues

RuoYi 博客 https://www.oschina.net/p/ruoyi

eclipse安装若依框架 https://blog.csdn.net/qq_44872638/article/details/104827344

RuoYi-Cloud 在线文档 http://doc.ruoyi.vip/ruoyi-cloud/

SpringBoot 官方文档 https://docs.spring.io/spring-boot/docs/current/reference/html/index.html

SpringBoot 官方文档中文版 - 1、入门指南 https://www.cnblogs.com/youcoding/p/15047719.html

mybatis 官方文档 https://mybatis.net.cn/index.html


返回