前言
寒假前在新電腦上配置了java環境,maven倉庫,node,js,navicat,MySQL,linux,vmware等環境,創建了6個mysql數據庫,77張表。
如此多的表,字段,去手寫基礎架子增刪改查需要耗費大量時間的重復工作,因此:
- 通過人人開源逆向工程,先獲取了一個連接登陸首頁權限管理的通用前后短模塊
- 在通過人人代碼生成器創建各個以springboot為框架的微服務項目,每個微服務項目包括了實體類,controller,service,mapper層,又創建了一個common項目服務,為各個微服務提供通用方法
現狀及其要做的事情
目前前段Vue項目與renren-fast后端項目所對應,提供了系統的登錄及權限管理系統,而其他微服務項目并未與前段項目相連。
首先要做的是把這個項目變成一個微服務項目
- 前端項目不在對應renren-fast這個微服務項目,而是應當對應一個后端統一的網關,由網關來返回前端想要的服務
- 后端各個微服務項目要去注冊中心配置中心進行注冊和統一配置,這樣當一個微服務項目調用另一個微服務項目,只需要去注冊中心,看哪些服務注冊了,直接使用就可
- 網關也是通過注冊中心去尋找服務然后返回前端
微服務學習
spring cloud alibaba的github地址
這是主要的組件。
Nacos注冊中心配置中心
nacos需要先去github項目下載
下載了nacos服務然后在項目中引入對應的注冊中心和配置中心依賴
<!-- 服務注冊/發現--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- 配置中心來做配置管理--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency>
然后點擊bin目錄中的這個啟動nacos服務器,彈出的cmd會有nacos可視化的網址,在8848端口,訪問后使用管理員登錄,賬號密碼都是nacos
在項目中使用nacos服務
- 在項目配置文件寫上nacos的路徑端口, 還有該微服務項目的名稱
- 在springboot啟動類加上注解
@EnableDiscoveryClient
- 然后就可以在服務管理中看到注冊的服務了
- 添加feign接口,這樣才能讓一個在naos里的微服務去調用另一個在nacos里的微服務
第一步,引入feign的依賴
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>
第二步,添加一個feign目錄,把要調用的微服務寫一個接口,比如我這個服務要調用3個微服務,那么就寫3個接口,在每個接口上添加@FeignClient(“coupon”) 這個注解,里面寫該接口調用的微服務在nacos中的注冊名
直接復制要調用的微服務的controller中方法及其路徑注解,需要注意,路徑一定要手動加全,因為我們使用requestmapping注解在controller類上為每個方法提供了基礎路徑,實際路徑是基礎路徑拼接方法上的路徑
第三步,在啟動類中添加@EnableFeignClients(basePackages = “com.jlau.agriMall.member.feign”) 該注解,里面的basepackage參數是掃描feign目錄
第四步,在本服務中需要用其他微服務的地方,引入所需要使用微服務的feign接口對象,然后開始使用