若依微服务版怎样新增业务子模块并使用代码生成实现对表的增删改查
場景
若依微服務版手把手教你本地搭建環境并運行前后端項目:
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-fzyscontrolprofiles:# 環境配置active: devcloud:nacos:discovery:# 服務注冊地址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,這里的包名要與后面生成代碼時相對應
注意下面的配置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: 系統模塊接口文檔license: Powered By ruoyilicenseUrl: https://ruoyi.vipauthorization:name: RuoYi OAuthauth-regex: ^.*$authorization-scope-list:- scope: serverdescription: 客戶端授權范圍token-url-list:- http://localhost:8080/auth/oauth/token注意將redis和mysql的連接改為自己的。
然后再找到ruoyi-gateway-dev.yml網管的配置文件,點擊編輯
?
仿照上面system的配置復制出來一份,并修改為新模塊所對應的。
system的配置
??????? # 系統模塊- id: ruoyi-systemuri: lb://ruoyi-systempredicates:- Path=/system/**filters:- StripPrefix=1新建業務的配置
????????? # fzys控制模塊- id: ruoyi-fzyscontroluri: lb://ruoyi-fzyscontrolpredicates:- 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中要根據具體請求的服務添加請求前綴
?
此時訪問具體的菜單即可獲取到服務
?
總結
以上是生活随笔為你收集整理的若依微服务版怎样新增业务子模块并使用代码生成实现对表的增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RuoYi-Process多模块acti
- 下一篇: GitLab怎样实现新建仓库并允许开发者