SpringBoot創建微服務項目


下載安裝並配置git

為自己的git設置名字

git config --global user.name "XXX"

配置自己注冊碼雲的郵箱

git config --global user.email "XXX@163.com"

生成ssh公鑰

ssh-keygen -t rsa -C "XXX@163.com"

查看公鑰

cat ~/.ssh/id_rsa.pub

復制公鑰添加到碼雲
點擊ssh公鑰 設置標題,將復制好的公鑰添加到公鑰內,確定,輸入登錄密碼驗證
在這里插入圖片描述
添加好以后在控制台輸入

ssh -T git@gitee.com
//輸入yes
//控制台會輸出已成功添加驗證( You've successfully authenticated)

利用碼雲生成項目

點擊頭像左側的+號,新建倉庫
設置倉庫名稱
選擇語言
添加.gitignore 選擇 Maven
添加開源許可證
選擇分支模型
在這里插入圖片描述
創建成功后,點擊克隆,復制鏈接

打開idea 點擊file 選擇項目來自版本控制
在這里插入圖片描述
一路yes finish

利用idea找到項目保存的位置,打開,則利用碼雲構建項目完成

構建springboot微服務

在打開的項目基礎上,正常創建springboot項目
在這里插入圖片描述
在這里插入圖片描述
勾選必要的依賴,因為微服務之間需要互相調用,此處利用Spring Cloud Routing 的OpenFeign實現
在這里插入圖片描述
在這里插入圖片描述
他微服務模塊以此創建就可以了,示例我創建了兩個模塊
在這里插入圖片描述

怎么將這兩個模塊,關聯到整個項目內呢?
復制一個pom.xml放到總項目目錄內
在這里插入圖片描述
修改pom.xml

修改
	<artifactId>test</artifactId>
	<name>test</name>
設置 <packaging>pom</packaging> 為pom類型
利用<modules>聚合各個小項目
 <modules>
    <module>demo</module>
    <module>demo1</module>
</modules>

如下
在這里插入圖片描述
接着點擊idea右側Maven,點擊+號,導入該聚合項目的pom文件
在這里插入圖片描述
顯示總項目Maven,標明為root的文件
在這里插入圖片描述
測試 root 文件的clean 觀察其他子項目是否clean

提交到碼雲

修改.gitignore,去掉無用的文件,防止提交非代碼文件
在這里插入圖片描述
點擊版本控制,Add to VCS 將項目納入版本控制
在這里插入圖片描述
我們最終的代碼是要提交到碼雲的,所以要給idea配置碼雲
點擊file -->setting–>plugins下載碼雲插件gitee
在這里插入圖片描述
在版本控制,右鍵點擊commit files
在這里插入圖片描述
輸入commit message,點擊commit and push 提交到碼雲
在這里插入圖片描述
如果是初次提交到碼雲,會提示輸入用戶名和密碼,就是你注冊碼雲的用戶名和密碼
查看碼雲,顯示提交成功。查看我們配置的.gitignore,你會發現被注釋掉的文件並沒有上傳到碼雲

為所有的微服務模塊統一添加配置文件

隨便創建一個maven項目,直接next就可以
在這里插入圖片描述
如下我創建了一個father項目作為所有微服務項目公有的依賴和工具類
然后將father當成依賴,添加到所有微服務pom文件
在這里插入圖片描述

Nacos服務發現

直接引入依賴

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.2.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

配置nacos服務發現

Nacos配置中心

Nacos配置中心

注意是在應用的 /src/main/resources/bootstrap.properties 配置文件中配置 Nacos Config 元數據

其次在Nacos新建配置頁面,Data ID 命名規則必須是你在bootstrap.properties文件定義的 spring.application.name.properties 設置成其他的不好使

在配置命名空間時,注意在bootstrap.properties中配置spring.cloud.nacos.config.namespace=命名空間ID (不是命名空間名稱

配置中心示例,優先掃描配置中心的配置信息,配置中心沒有的會默認掃描自定義的配置信息

spring.application.name=demo
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
        

#nacos命名空間
spring.cloud.nacos.config.namespace=0c9dffe2-d167-432d-86ee-cf0d06e0e1ec

#nacos加載多個配置文件
spring.cloud.nacos.config.ext-config[0].data-id=datasource.properties
#自動刷新
spring.cloud.nacos.config.ext-config[0].refresh=true
#分組
spring.cloud.nacos.config.ext-config[0].group=dev

#nacos加載多個配置文件
spring.cloud.nacos.config.ext-config[1].data-id=mybatis.properties
#自動刷新
spring.cloud.nacos.config.ext-config[1].refresh=true
#分組
spring.cloud.nacos.config.ext-config[1].group=dev

在這里插入圖片描述

實現遠程調用

實現遠程調用主要用到了springcloud中的openFeign,在之前創建模塊項目的時候已經勾選好了

首先在調用者controller同級目錄創建一個包,表示該包下的接口都是需要遠程調用的

其次在該包下創建接口,用@FeignClient(“demo”)聲明該接口為一個需要需要遠程調用的接口,其中demo為nacos中被調用者微服務注冊的名字

然后將被調用者controller層需要遠程調用的方法體以及完整的@RequestMapping("/coupon/queryList")路徑,復制到調用者聲明為@FeignClient(“demo”)的接口
在這里插入圖片描述
在調用者的controller層注入該fegin包下的接口

 	@Autowired
    private FeignService feignService;

    @RequestMapping("/queryList")
    public List<Integer> queryList(){
        List<Integer> list = feignService.queryList();
        return list;
    }

在調用者啟動類上添加注解,讓他去掃描feign包,搜索被注解為@FeignClient()的接口

@EnableFeignClients(basePackages = "com.atguigu.gulimail.member.feign")

啟動nacos ,啟動調用者和被調用者,觀察nacos的服務列表,觀察是否被注冊進來

然后測試請求調用者的接口,觀察數據有沒有被請求出來


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM