- 使用ruoyi-cloud进行开发的时候,需要多个模块,使用代码生成基础的crud代码,踩了一些坑之后,写下这篇笔记,同时也是尚硅谷的微服务谷粒商城的若以版本的搭建教程之一
- 后续使用代码生成即可
目录
1. 启动ruoyi-cloud
1.1 后端部署
1.2 前端部署
2 新增模块
2.1 结构查看
2.2 新建module
3 nacos配置服务
4 启动服务
5 创建菜单以及使用代码生成
1. 启动ruoyi-cloud
- 首先是去gitee上拉取ruoyi-cloud项目到本地,然后根据文档的部署教程,一路安装部署即可
- 注意这里如果项目加载右边没有maven模块,来到项目最外层的pom.xml,加载maven即可:右键pom.xml文件, 点击" add as maven project "
- 在下方service中能看到所有模块的启动类,如果没有按图找到springboot即可识别到对应的一些服务
1.1 后端部署
- 1、前往Gitee下载页面(https://gitee.com/y_project/RuoYi-Cloud )下载解压到工作目录
- 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数据源配置
注意:配置nacos的持久化,是在nacos的conf目录下面的application.properties配置数据源,可以配置多个数据源。默认单机配置
启动对应的服务,注意需要本地的redis服务和nacos服务开启
- RuoYiGatewayApplication (网关模块 必须)
- RuoYiAuthApplication (认证模块 必须)
- RuoYiSystemApplication (系统模块 必须)
- RuoYiMonitorApplication (监控中心 可选)
- RuoYiGenApplication (代码生成 可选)
- RuoYiJobApplication (定时任务 可选)
- RuoYFileApplication (文件服务 可选)
1.2 前端部署
控制台命令行进入到ruoyi-ui目录,下载需要的依赖,启动!
# 进入项目目录cd ruoyi-ui
# 安装依赖
npm install
# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npmmirror.com
# 本地开发 启动项目
npm run dev
2 新增模块
2.1 结构查看
新增子模块,按照若依赖的约定,避免后续出现问题,当然一通百通,也可以按照自己的思路配置,修改对应的配置即可。
后端项目结构如下,通过观察,我们需要新增自己的模块在ruoyi-modules下面新增模块
com.ruoyi├── ruoyi-ui // 前端框架 [80]
├── ruoyi-gateway // 网关模块 [8080]
├── ruoyi-auth // 认证中心 [9200]
├── ruoyi-api // 接口模块
│ └── ruoyi-api-system // 系统接口
├── ruoyi-common // 通用模块
│ └── ruoyi-common-core // 核心模块
│ └── ruoyi-common-datascope // 权限范围
│ └── ruoyi-common-datasource // 多数据源
│ └── ruoyi-common-log // 日志记录
│ └── ruoyi-common-redis // 缓存服务
│ └── ruoyi-common-security // 安全模块
│ └── ruoyi-common-swagger // 系统接口
├── ruoyi-modules // 业务模块
│ └── ruoyi-system // 系统模块 [9201]
│ └── ruoyi-gen // 代码生成 [9202]
│ └── ruoyi-job // 定时任务 [9203]
│ └── ruoyi-file // 文件服务 [9300]
├── ruoyi-visual // 图形化管理模块
│ └── ruoyi-visual-monitor // 监控中心 [9100]
├──pom.xml // 公共依赖
2.2 新建module
ruoyi-modules右击,new->module
输入模块名,不选择父依赖,手动添加
修改模块名,和其他服务一样 ruoyi-moduls-order
修改成功后的样子
添加依赖:
- 去ruoyi-system模块的pom.xml复制依赖,只需要修改 <artifactId>和<description>即可,导入后刷新maven会有一个错误,是因为我们还没有添加到ruoyi-moduls中
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-modules</artifactId>
<version>3.6.0</version>
</parent>
<!--修改部分-->
<artifactId>ruoyi-modules-order</artifactId>
<description>
ruoyi-modules-order订单模块
</description>
<!--修改部分-->
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- RuoYi Common DataSource -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datasource</artifactId>
</dependency>
<!-- RuoYi Common DataScope -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datascope</artifactId>
</dependency>
<!-- RuoYi Common Log -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-log</artifactId>
</dependency>
<!-- RuoYi Common Swagger -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-swagger</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
在父依赖中添加当前模块,原来模块的错误解决!
创建分级目录,注意这里的目录要和后面代码生成的路径对应!
- 添加springboot启动类,复制ruoyi-system的启动类,修改名字即可,同时复制ruoyi-system模块中的resource下的两个文件bootstrao.yml和logback.xml(可选),到相应的路径下面。
新增模块下面的bootstrao.yml修改配置:修改端口号,修改应用名称
查看配置,注意这里的约定,约定大于配置!约定大于配置!约定大于配置!
修改logback.xml配置
3 nacos配置服务
3.1 配置模块服务
启动nacos服务,地址,查看配置列表
- 选中ruoyi-system-dev.yml,进行克隆配置,修改data id名字!约定大于配置,如果前面的bootstrao.yml修改了配置,这里也需要对应的修改
克隆成功!
点击编辑,修改数据库链接对象
修改mybatis包扫描路径,这里要对应我们之前建包时候的路径
其他不变,发布即可,注意文件的类型是yml和bootstrao.yml中约定的一样,如果改变这里也需要对应的改变!
4 启动服务
来到RuoYiOrderApplication启动类,启动即可,启动完了自动添加到service中,下次可以直接启动
5 创建菜单以及使用代码生成
代码生成需要使用ruoyi-gen服务
使用代码生成,将对应的数据库建立好ruoyi-cloud中,注意,我的是来数据表是来自于其他数据库,想要生成其他数据库的代码,请看另外一篇笔记,需要修改代码生成的配置文件,如果数据表不多就在ruoyi-cloud中导入,即可,逻辑都一样
编辑基本信息
编辑字段信息,注意,每个字段都最好有描述,不然生成的界面容易有错,建表的时候建好基本没错
提交之后,生成代码即可,粘贴到对应的路径位置就好啦,同时会生成sql脚本,脚本在ruoyi-clooud执行即可。
以上就是新建子模块的所有内容,跨数据库生成代码,看我另外一篇文章有不明白的留言,觉得可以点个赞呗,转载注明出处!!!