全網最透徹!Dubbo整合SpringBoot詳解,Java教程視頻網

天天熬夜敲代碼 2021-09-20 02:44:37 阅读数:748

dubbo 整合 springboot java 教程
 </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

需要注意的是,根據jdk和Spring Boot版本的不同,dubbo-spring-boot-starter的版本需要有根據的選擇
![全網最透徹!Dubbo整合SpringBoot詳解,Java教程視頻網_Java](https://s3.51cto.com/images/20210920/1632076158967049.jpg)
dubbo提供了@Service注解,可將類聲明為提供方,省去了大量配置的麻煩

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

import com.alibaba.dubbo.config.annotation.Service;
import com.zang.gmall.bean.UserAddress;
import com.zang.gmall.service.UserService;
import org.springframework.stereotype.Component;

import java.util.Arrays;
import java.util.List;

@Service //屬於Dubbo的@Service注解,非Spring 作用:暴露服務
@Component
public class UserServiceImpl implements UserService {

@Override
public List<UserAddress> getUserAddressList(String userId) {
//省略

}}


通過屬性配置的方式設置application.properties

  • 1.
  • 2.
  • 3.

#當前服務/應用的名字
dubbo.application.name=user-service-provider

#注册中心的協議和地址
dubbo.registry.protocol=zookeeper
dubbo.registry.address=127.0.0.1:2181

#通信規則(通信協議和接口)
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

#連接監控中心
dubbo.monitor.protocol=registry
#開啟包掃描,可替代 @EnableDubbo 注解
##dubbo.scan.base-packages=com.zang.gmall


springboot容器根據配置啟動服務提供方,這裏需要添加 @EnableDubbo 注解

  • 1.
  • 2.
  • 3.

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

// 開啟基於注解的dubbo功能(主要是包掃描@DubboComponentScan)
// 也可以在配置文件中使用dubbo.scan.base-package來替代 @EnableDubbo
@EnableDubbo

@SpringBootApplication
public class UserServiceProviderApplication {

public static void main(String[] args) {
SpringApplication.run(UserServiceProviderApplication.class, args);
}

}


提供方順利啟動
![全網最透徹!Dubbo整合SpringBoot詳解,Java教程視頻網_後端_02](https://s4.51cto.com/images/20210920/1632076160208495.jpg)
# 4\. 服務消費者
消費者工程在初始化時設置為web項目,結構如下
![全網最透徹!Dubbo整合SpringBoot詳解,Java教程視頻網_Java_03](https://s9.51cto.com/images/20210920/1632076160372341.jpg)
引入和服務提供方同樣的依賴,除此之外,添加springboot web模塊的依賴。

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
<!-- springboot web模塊 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

dubbo提供了@Reference注解,可替換@Autowired注解,用於引入遠程服務

  • 1.
  • 2.
  • 3.

import com.alibaba.dubbo.config.annotation.Reference;
import com.zang.gmall.bean.UserAddress;
import com.zang.gmall.service.OrderService;
import com.zang.gmall.service.UserService;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class OrderServiceImpl implements OrderService {

@Reference
UserService userService;
@Override
public List<UserAddress> initOrder(String userId) {

//代碼省略
}
}


配置文件application.properties

  • 1.
  • 2.
  • 3.

#避免和監控中心端口沖突,設為8081端口訪問
server.port=8081

dubbo.application.name=order-service-consumer
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.monitor.protocol=registry


## 總結:繪上一張Kakfa架構思維大綱腦圖(xmind)
![全網最透徹!Dubbo整合SpringBoot詳解,Java教程視頻網_後端_04](https://s5.51cto.com/images/20210920/1632076160187141.jpg)
其實關於Kafka,能問的問題實在是太多了,扒了幾天,最終篩選出44問:基礎篇17問、進階篇15問、高級篇12問,個個直戳痛點,不知道如果你不著急看答案,又能答出幾個呢?
若是對Kafka的知識還回憶不起來,不妨先看我手繪的知識總結腦圖(xmind不能上傳,文章裏用的是圖片版)進行整體架構的梳理
**[CodeChina開源項目:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視頻】](https://ali1024.coding.net/public/P7/Java/git)**
梳理了知識,刷完了面試,如若你還想進一步的深入學習解讀kafka以及源碼,那麼接下來的這份《手寫“kafka”》將會是個不錯的選擇。
* Kafka入門
* 為什麼選擇Kafka
* Kafka的安裝、管理和配置
* Kafka的集群
* 第一個Kafka程序
* Kafka的生產者
* Kafka的消費者
* 深入理解Kafka
* 可靠的數據傳遞
* Spring和Kafka的整合
* SpringBoot和Kafka的整合
* Kafka實戰之削峰填穀
* 數據管道和流式處理(了解即可)
![全網最透徹!Dubbo整合SpringBoot詳解,Java教程視頻網_Java_05](https://s9.51cto.com/images/20210920/1632076160533052.jpg)
![全網最透徹!Dubbo整合SpringBoot詳解,Java教程視頻網_Java_06](https://s5.51cto.com/images/20210920/1632076161965740.jpg)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
版权声明:本文为[天天熬夜敲代碼]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210920024436821f.html