概述
场景
若依微服务版手把手教你本地搭建环境并运行前后端项目:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303
在前面已经将若依微服务版的项目在本地搭建起来之后,怎样开发具体的业务。
搭建好之后的项目结构里,ruoyi-modules是存放业务模块的位置。
ruoyi-fzys就是新增的业务。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
新增业务模块并配置
按照项目的结构设计,业务模块的位置是在ruoyi-modules下,所以在此模块上右键-new-Module
点击确定后
然后点击next
为了和之前的模块统一风格的命名方式,所以这里新建的module的坐标是ruoyi-fzyscontrol,然后点击next
包括module的名字的命名风格,统一以ruoyi-modules-业务模块名的格式。
新增完模块之后,此业务模块就是上面ruoyi-modules的子模块,可以打开ruoyi-modules的pom.xml
可以看到已经自动将新增的业务模块添加到此业务模块下了
然后打开ruoyi-modules-system的系统模块的pom.xml,将其dependencies下和build下的代码复制到上面新建业务模块的pom.xml文件中
当前是如下代码,具体根据自己版本的pom文件去复制
<dependencies>
<!-- SpringCloud Ailibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Ailibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Ailibaba 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 -->
<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 Security -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-security</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>
<!-- RuoYi Common Redis-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-redis</artifactId>
</dependency>
</dependencies>
<build>
<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>
然后在新建模块下新建包com.ruoyi.fzyscontrol
然后将前面system模块的启动类复制到新建业务的包下并更改名字
更改启动类里面的类名和要启动的类名以及启动成功的输出内容。
然后将system的yml配置文件复制到新建模块一份,并修改该模块的端口号,这里是9205,以及应用名称
示例代码如下
# Tomcat
server:
port: 9205
# Spring
spring:
application:
# 应用名称
name: ruoyi-fzyscontrol
profiles:
# 环境配置
active: dev
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: 10.61.37.60:8848
config:
# 配置中心地址
server-addr: 10.61.37.60:8848
# 配置文件格式
file-extension: yml
# 共享配置
shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
然后登录Nacos配置中心,找到配置列表,选择ruoyi-system-dev.yml,点击克隆,并更改Data Id 为ruoyi-fzyscontrol-dev.yml
点击开始克隆
然后再选中新克隆的配置文件,点击编辑,将搜索的指定包名的路径改为com.ruoyi.fzyscontrol,这里的包名要与后面生成代码时相对应
注意下面的配置mapper的扫描,找到所有mapper.xml映射文件的地方
这里的路径是在配置的在resources下的mapper目录下的任意子目录下的任意.xml文件
示例代码如下
# Spring
spring:
redis:
host: *****
port: *****
password: ******
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url:jdbc:mysql://*******:3306/fzys?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 1234
# Mybatis配置
mybatis:
# 搜索指定包别名
typeAliasesPackage: com.ruoyi.fzyscontrol
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath:mapper/**/*.xml
# swagger 配置
swagger:
title: 系统模块接口文档
license: Powered By ruoyi
licenseUrl: https://ruoyi.vip
authorization:
name: RuoYi OAuth
auth-regex: ^.*$
authorization-scope-list:
- scope: server
description: 客户端授权范围
token-url-list:
- http://localhost:8080/auth/oauth/token
注意将redis和mysql的连接改为自己的。
然后再找到ruoyi-gateway-dev.yml网管的配置文件,点击编辑
仿照上面system的配置复制出来一份,并修改为新模块所对应的。
system的配置
# 系统模块
- id: ruoyi-system
uri: lb://ruoyi-system
predicates:
- Path=/system/**
filters:
- StripPrefix=1
新建业务的配置
# fzys控制模块
- id: ruoyi-fzyscontrol
uri: lb://ruoyi-fzyscontrol
predicates:
- Path=/fzyscontrol/**
filters:
- StripPrefix=1
更改完之后点击发布。
启动项目并生成代码
依次找到ruoyi-gateway、ruoyi-auth、ruoyi-system、ruoyi-gen下的启动类去启动,注意启动顺序。
网管模块和认证模块要在系统模块和代码生成模块之前。
然后再启动刚才新建的业务模块,此时一个启动五个模块。
此时可以去Nacos服务注册中心的服务列表查看,回看到此时会有五个服务。
此时就可以打开此项目连接的数据库进行设计业务表,这里设计一个表
然后打开前端项目ruoyi-ui
在终端中输入
npm install
安装前端项目依赖
安装项目依赖成功之后找到项目的vue.config.js
修改前端项目的端口,默认是80,这里修改为90,
然后修改代理的后端的请求地址,这里要与上面后台网关模块中yml配置文件中配置的网关模块相对应
默认网关是8080,这里为了避免端口冲突改为8888
所以这里前端的代理地址的端口也是8888
启动前端项目
npm run dev
启动后打开浏览器访问
http://localhost:90/
登录成功后找到系统工具-代码生成-导入,选择前面新建的数据库中的表,导入之后,选择并编辑
这里修改生成代码时的生成信息,注意这里的包名要与上面配置mapper扫描包的路径一致,并且这里还加了具体业务的包。
这个功能是信号灯控制功能,最终是属于运行调度管理菜单下的功能,所以这里配置的包路径追加了一层运行调度管理,
生成的模块名也叫运行调度管理,但是生成的业务名是其下具体的信号灯控制。
然后点击提交后点击生成,会将生成代码的压缩包下载到本地,解压之后的目录
来到项目中新建模块的包下将后端代码复制到相应的位置
注意这里的复制后的代码的路径要和你在Nacos中配置文件的配置一致。
然后打开ruoyi-ui前端代码,将生成的vue目录下的前端代码复制到相应的api和views下
注意这里的路径,要与vue中调用js方法的路径以及菜单按钮路径中调用vue页面的路径一致。
然后连接到数据库,运行代码生成时的sql文件,将菜单项插入到菜单表中
此时会在菜单表中生成具体的菜单
前后端联调
因为生成的代码可能会有路径或者url等不对应的问题,所以要实现前后端的联调还需要进行调整。
打开前端代码的js文件的请求后台的url路径为
/runcontrolmange/signallightcontrol/list
然后打开后端controller中具体方法
如果这里的controller的路径不对应的话进行修改。
此时路径还是不能匹配。因为之前在Nacos的配置中心配置网关时设置了请求时的前缀
所以在请求具体的服务时,前端必须在对应后台Controller的基础上,添加一个网关管理的服务的前缀。
所以在前端项目中进行请求的js的url中要根据具体请求的服务添加请求前缀
此时访问具体的菜单即可获取到服务
最后
以上就是火星上钢铁侠为你收集整理的若依微服务版怎样新增业务子模块并使用代码生成实现对表的增删改查场景实现的全部内容,希望文章能够帮你解决若依微服务版怎样新增业务子模块并使用代码生成实现对表的增删改查场景实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复