springBoot整合dubbo注意事項(註解方式)

最近學習springBoot整合dubbo過程中遇到了一些問題,在此記錄一下,以作備忘。
至於整合教程網上一堆,這裏不做重複搬運。
大概描述一下步驟

  1. 如果使用zookeeper作爲註冊中心,需要先安裝zookeeper並啓動
  2. 下載dubbo管理控制檯(我在網上找的一個,提取碼:ddoc),下載後解壓,
  3. 修改dubbo-admin項目中application.properties文件中dubbo.registry.address地址後使用maven打包,
    4. 進入target目錄下使用java -jar XXX.jar執行jar包,然後訪問"http://localhost:7001/"用戶名:root,密碼:root。即可。如下圖:

在這裏插入圖片描述
4. 然後新建springBoot項目即可開始整合了。

問題

在搭建springBoot+dubbo項目過程中:

  1. pom.xml文件中導什麼包?

  2. application.properties需要配置什麼?

  3. 需要用到哪些註解?
    首先pom.xml中需要導什麼包,這個我在網上遇到了三種包,分別是:

第一種:
<dependency>
	<groupId>com.alibaba.boot</groupId>
	<artifactId>dubbo-spring-boot-starter</artifactId>
	<version>0.2.0</version>
</dependency>
第二種:
<dependency>
	<groupId>com.alibaba.spring.boot</groupId>
	<artifactId>dubbo-spring-boot-starter</artifactId>
	<version>2.0.0</version>
</dependency>
第三種:
<dependency>
	<groupId>io.dubbo.springboot</groupId>
	<artifactId>spring-boot-starter-dubbo</artifactId>
	<version>1.0.0</version>
</dependency>

區別還未知。除此之外還需要導入zookeeper客戶端包

<!-- zookeeper客戶端 -->
<dependency>
	<groupId>com.101tec</groupId>
	<artifactId>zkclient</artifactId>
	<version>0.7</version>
</dependency>

接下來看三種類別的包對應application.properties中需要怎麼配置:
第一種:

服務端:
#當前服務/應用的名字
dubbo.application.name=service-provider
#註冊中心的協議和地址
dubbo.registry.protocol=zookeeper
dubbo.registry.address=zookeeper服務地址:2181
#通信規則(通信協議和接口)
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

消費端:

dubbo.application.name=service-consumer
dubbo.registry.address=zookeeper://zookeeper服務地址:2181

第二種:

服務端:
#dubbo應用名稱
spring.dubbo.application.name=service-provider
#註冊中心的協議和地址
spring.dubbo.registry.protocol=zookeeper
spring.dubbo.registry.address=zookeeper服務地址:2181
#通信規則(通信協議和接口)
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
#開啓包掃描,可替代 @EnableDubbo 註解
spring.dubbo.scan.base-packages=com.example.demo.service.serviceImpl
消費端:
spring.application.name=service-consumer
spring.dubbo.registry=zookeeper://zookeeper服務地址:2181

第三種未測試,暫不做記錄,後邊有時間補上。
最後
註解用的有dubbo的
@service標註服務端服務接口
示例(@Component註解網上說要加,但親測去掉沒什麼影響):
在這裏插入圖片描述
@Reference標註消費端消費接口
示例(需注意消費端同樣要編寫服務端提供的接口,但不用實現):
在這裏插入圖片描述
最最最後就是在啓動類中加的一個註解:
如果是導入的第一種包
在啓動類加:@EnableDubbo
作用:
@EnableDubbo是 @EnableDubboConfig 和 @DubboComponentScan兩者組合的便捷表達方式。與註解驅動相關的是 @DubboComponentScan。
通過 @EnableDubbo 可以在指定的包名下(通過 scanBasePackages),或者指定的類中(通過 scanBasePackageClasses)掃描 Dubbo 的服務提供者(以 @Service 標註)以及 Dubbo 的服務消費者(以 Reference 標註)。
示例:

注:可以在配置文件中使用dubbo.scan.base-package來替代@EnableDubbo
消費端不加此註解經測試沒影響
如果導入的是第二種包
需在啓動類中加:@EnableDubboConfiguration(服務端-消費端一樣)

第三種未測試,暫不做記錄。

以上就是我在整合springBoot,Dubbo時的一些經歷,本文除了作爲記錄以外,還有一個重要事項是想請看到此文的大佬給講解一下三種包的區別,如果有知道的還望講解一下,在此先謝過
結束!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章