若依微服务版怎样新增业务子模块并使用代码生成实现对表的增删改查
場景
若依微服務(wù)版手把手教你本地搭建環(huán)境并運行前后端項目:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303
在前面已經(jīng)將若依微服務(wù)版的項目在本地搭建起來之后,怎樣開發(fā)具體的業(yè)務(wù)。
?
搭建好之后的項目結(jié)構(gòu)里,ruoyi-modules是存放業(yè)務(wù)模塊的位置。
ruoyi-fzys就是新增的業(yè)務(wù)。
注:?
博客:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費下載。
實現(xiàn)
新增業(yè)務(wù)模塊并配置
按照項目的結(jié)構(gòu)設(shè)計,業(yè)務(wù)模塊的位置是在ruoyi-modules下,所以在此模塊上右鍵-new-Module
?
點擊確定后
?
然后點擊next
?
為了和之前的模塊統(tǒng)一風(fēng)格的命名方式,所以這里新建的module的坐標是ruoyi-fzyscontrol,然后點擊next
?
包括module的名字的命名風(fēng)格,統(tǒng)一以ruoyi-modules-業(yè)務(wù)模塊名的格式。
新增完模塊之后,此業(yè)務(wù)模塊就是上面ruoyi-modules的子模塊,可以打開ruoyi-modules的pom.xml
?
可以看到已經(jīng)自動將新增的業(yè)務(wù)模塊添加到此業(yè)務(wù)模塊下了
然后打開ruoyi-modules-system的系統(tǒng)模塊的pom.xml,將其dependencies下和build下的代碼復(fù)制到上面新建業(yè)務(wù)模塊的pom.xml文件中
當前是如下代碼,具體根據(jù)自己版本的pom文件去復(fù)制
??? <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模塊的啟動類復(fù)制到新建業(yè)務(wù)的包下并更改名字
?
更改啟動類里面的類名和要啟動的類名以及啟動成功的輸出內(nèi)容。
?
然后將system的yml配置文件復(fù)制到新建模塊一份,并修改該模塊的端口號,這里是9205,以及應(yīng)用名稱
?
示例代碼如下
# Tomcat server:port: 9205# Spring spring:application:# 應(yīng)用名稱name: ruoyi-fzyscontrolprofiles:# 環(huán)境配置active: devcloud:nacos:discovery:# 服務(wù)注冊地址server-addr: 10.61.37.60:8848config:# 配置中心地址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,這里的包名要與后面生成代碼時相對應(yīng)
注意下面的配置mapper的掃描,找到所有mapper.xml映射文件的地方
這里的路徑是在配置的在resources下的mapper目錄下的任意子目錄下的任意.xml文件
?
示例代碼如下
# Spring spring:redis:host:?*****port:?*****password:?******datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl:jdbc:mysql://*******:3306/fzys?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username: rootpassword: 1234# Mybatis配置 mybatis:# 搜索指定包別名typeAliasesPackage: com.ruoyi.fzyscontrol# 配置mapper的掃描,找到所有的mapper.xml映射文件mapperLocations: classpath:mapper/**/*.xml# swagger 配置 swagger:title: 系統(tǒng)模塊接口文檔license: Powered By ruoyilicenseUrl: https://ruoyi.vipauthorization:name: RuoYi OAuthauth-regex: ^.*$authorization-scope-list:- scope: serverdescription: 客戶端授權(quán)范圍token-url-list:- http://localhost:8080/auth/oauth/token注意將redis和mysql的連接改為自己的。
然后再找到ruoyi-gateway-dev.yml網(wǎng)管的配置文件,點擊編輯
?
仿照上面system的配置復(fù)制出來一份,并修改為新模塊所對應(yīng)的。
system的配置
??????? # 系統(tǒng)模塊- id: ruoyi-systemuri: lb://ruoyi-systempredicates:- Path=/system/**filters:- StripPrefix=1新建業(yè)務(wù)的配置
????????? # fzys控制模塊- id: ruoyi-fzyscontroluri: lb://ruoyi-fzyscontrolpredicates:- Path=/fzyscontrol/**filters:- StripPrefix=1?
更改完之后點擊發(fā)布。
啟動項目并生成代碼
依次找到ruoyi-gateway、ruoyi-auth、ruoyi-system、ruoyi-gen下的啟動類去啟動,注意啟動順序。
網(wǎng)管模塊和認證模塊要在系統(tǒng)模塊和代碼生成模塊之前。
然后再啟動剛才新建的業(yè)務(wù)模塊,此時一個啟動五個模塊。
?
此時可以去Nacos服務(wù)注冊中心的服務(wù)列表查看,回看到此時會有五個服務(wù)。
?
此時就可以打開此項目連接的數(shù)據(jù)庫進行設(shè)計業(yè)務(wù)表,這里設(shè)計一個表
?
然后打開前端項目ruoyi-ui
在終端中輸入
npm install安裝前端項目依賴
?
安裝項目依賴成功之后找到項目的vue.config.js
修改前端項目的端口,默認是80,這里修改為90,
?
然后修改代理的后端的請求地址,這里要與上面后臺網(wǎng)關(guān)模塊中yml配置文件中配置的網(wǎng)關(guān)模塊相對應(yīng)
默認網(wǎng)關(guān)是8080,這里為了避免端口沖突改為8888
所以這里前端的代理地址的端口也是8888
?
啟動前端項目
npm run dev啟動后打開瀏覽器訪問
http://localhost:90/
?
登錄成功后找到系統(tǒng)工具-代碼生成-導(dǎo)入,選擇前面新建的數(shù)據(jù)庫中的表,導(dǎo)入之后,選擇并編輯
?
這里修改生成代碼時的生成信息,注意這里的包名要與上面配置mapper掃描包的路徑一致,并且這里還加了具體業(yè)務(wù)的包。
這個功能是信號燈控制功能,最終是屬于運行調(diào)度管理菜單下的功能,所以這里配置的包路徑追加了一層運行調(diào)度管理,
生成的模塊名也叫運行調(diào)度管理,但是生成的業(yè)務(wù)名是其下具體的信號燈控制。
然后點擊提交后點擊生成,會將生成代碼的壓縮包下載到本地,解壓之后的目錄
?
來到項目中新建模塊的包下將后端代碼復(fù)制到相應(yīng)的位置
?
注意這里的復(fù)制后的代碼的路徑要和你在Nacos中配置文件的配置一致。
然后打開ruoyi-ui前端代碼,將生成的vue目錄下的前端代碼復(fù)制到相應(yīng)的api和views下
?
注意這里的路徑,要與vue中調(diào)用js方法的路徑以及菜單按鈕路徑中調(diào)用vue頁面的路徑一致。
然后連接到數(shù)據(jù)庫,運行代碼生成時的sql文件,將菜單項插入到菜單表中
?
此時會在菜單表中生成具體的菜單
?
前后端聯(lián)調(diào)
因為生成的代碼可能會有路徑或者url等不對應(yīng)的問題,所以要實現(xiàn)前后端的聯(lián)調(diào)還需要進行調(diào)整。
打開前端代碼的js文件的請求后臺的url路徑為
/runcontrolmange/signallightcontrol/list
然后打開后端controller中具體方法
?
如果這里的controller的路徑不對應(yīng)的話進行修改。
此時路徑還是不能匹配。因為之前在Nacos的配置中心配置網(wǎng)關(guān)時設(shè)置了請求時的前綴
?
所以在請求具體的服務(wù)時,前端必須在對應(yīng)后臺Controller的基礎(chǔ)上,添加一個網(wǎng)關(guān)管理的服務(wù)的前綴。
?
所以在前端項目中進行請求的js的url中要根據(jù)具體請求的服務(wù)添加請求前綴
?
此時訪問具體的菜單即可獲取到服務(wù)
?
總結(jié)
以上是生活随笔為你收集整理的若依微服务版怎样新增业务子模块并使用代码生成实现对表的增删改查的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RuoYi-Process多模块acti
- 下一篇: GitLab怎样实现新建仓库并允许开发者