ruoyi-cloud新建子模块

使用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

打开浏览器,输入:(http://localhost:80) 默认账户/密码 admin/admin123
若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功,有问题可以查阅官网或者留言,这一步很简单。

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中

<?xml version="1.0" encoding="UTF-8"?>
<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中约定的一样,如果改变这里也需要对应的改变!

3.2 配置网关服务

参照之前的服务模块,这里lib配置服务,path配置路径,发布重启服务即可。

 

 

4 启动服务

 来到RuoYiOrderApplication启动类,启动即可,启动完了自动添加到service中,下次可以直接启动

5 创建菜单以及使用代码生成

 代码生成需要使用ruoyi-gen服务

 使用代码生成,将对应的数据库建立好ruoyi-cloud中,注意,我的是来数据表是来自于其他数据库,想要生成其他数据库的代码,请看另外一篇笔记,需要修改代码生成的配置文件,如果数据表不多就在ruoyi-cloud中导入,即可,逻辑都一样

编辑基本信息

编辑字段信息,注意,每个字段都最好有描述,不然生成的界面容易有错,建表的时候建好基本没错

 提交之后,生成代码即可,粘贴到对应的路径位置就好啦,同时会生成sql脚本,脚本在ruoyi-clooud执行即可。

以上就是新建子模块的所有内容,跨数据库生成代码,看我另外一篇文章有不明白的留言,觉得可以点个赞呗,转载注明出处!!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值