亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

教你springboot+dubbo快速啟動的方法

 更新時間:2022年04月01日 11:25:58   作者:波波的。  
這篇文章主要介紹了springboot+dubbo快速啟動的方法,dubbo的角色廣泛的分為三類provider,comsumer,注冊中心,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下

前言

現(xiàn)在用dubbo的太多了,我到現(xiàn)在還不熟悉,這太不應該了,這次好好看了一下dubbo,終于把基本的啟動框架搭好了。dubbo的角色寬泛的分三類provider,comsumer,注冊中心。我這里的注冊中心用的是zookeeper,并且是在windows環(huán)境下做的。

dubbo和springboot整合的依賴:

<dependency>
   <groupId>com.alibaba.boot</groupId>
   <artifactId>dubbo-spring-boot-starter</artifactId>
   <version>0.2.0</version>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

實操

1、創(chuàng)建一個大的maven項目,將里面的src目錄刪掉,這只是為了在這個大的maven項目里面添加provider和comsumer兩個模塊。之后創(chuàng)建兩個springboot項目,分別是provider和comsumer,創(chuàng)建好的結構:

在這里插入圖片描述

這里的common模塊我是把entity和接口類抽出來,不抽出來也是可以的

2、common(這里面沒有任何依賴,就是個maven項目)

在這里插入圖片描述

entity:

public class User {
    private Long id;
    private String name;
    private Integer age;
    public User() {
    }
    public User(Long id, String name, Integer age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

UserService:

public interface UserService {
    User query(Long id);
}

OrderService:

public interface OrderService {
    String getName(Long id);
}

3、provider(添加dubbo依賴并把剛才寫的公共模塊依賴進來)

<dependency>
    <groupId>org.example</groupId>
    <artifactId>common</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

在這里插入圖片描述

OrderServiceImpl:

import com.alibaba.dubbo.config.annotation.Service;
//這里的service注解用的是dubbo
@Service
public class OrderServiceImpl implements OrderService {
    @Autowired
    private UserService userService;
    @Override
    public String getName(Long id) {
        User query = userService.query(id);
        return query.getName();
    }
}

UserServiceImpl:

import com.alibaba.dubbo.config.annotation.Service;
@Service
public class UserServiceImpl implements UserService {
    @Override
    public User query(Long id) {
        User user = new User(1L, "張三", 12);        
        return user;
    }
}

啟動類上添加@EnableDubbo

application.properties:

#服務名稱
dubbo.application.name=provice
#注冊中心
dubbo.registry.address=127.0.0.1:2181
dubbo.registry.protocol=zookeeper
#通信協(xié)議
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

4、comsumer(添加dubbo依賴,common模塊,web依賴)

在這里插入圖片描述

OrderController:

import com.alibaba.dubbo.config.annotation.Reference;
@RestController
public class OrderController {
//添加dubbo的reference注解,進行遠程調用
    @Reference
    OrderService orderService;

    @RequestMapping("getName")
    String getName(Long id){
        String name = orderService.getName(id);
        return name;
    }
}

啟動類上加上@EnableDubbo

application.properties:

#服務名稱
dubbo.application.name=comsumer
#注冊中心
dubbo.registry.protocol=zookeeper
dubbo.registry.address=127.0.0.1:2181

測試

啟動zookeeper,provider和comsumer.

在這里插入圖片描述

注:

1、首先要啟動zookeeper,下載windows版壓縮包,修改conf配置文件,啟動zkServer.cmd命令。具體怎么弄這里就不寫了,網(wǎng)上很多,我這里主要練習的是dubbo.
2、啟動類上需要添加@EnableDubbo
3、comsumer中調用服務用@Reference,因為是遠程調用,所以 @Autowired肯定是沒用的了
4、provider中的實現(xiàn)類需要用dubbo的@Service注解

到此這篇關于springboot+dubbo快速啟動的文章就介紹到這了,更多相關springboot dubbo啟動內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring依賴注入底層原理詳解

    Spring依賴注入底層原理詳解

    這篇文章主要介紹了Spring依賴注入底層原理詳解,??依賴注入是一種設計模式,它將對象之間的依賴關系從代碼中移除,并由容器來管理這些依賴關系,依賴注入的主要目的是降低代碼的耦合度,使代碼更加靈活和可維護,需要的朋友可以參考下
    2023-09-09
  • Spring中IOC和AOP的核心組成架構詳解

    Spring中IOC和AOP的核心組成架構詳解

    這篇文章主要介紹了Spring中IOC和AOP的核心組成架構詳解,本文是對Spring的2大核心功能——IoC和AOP 的總結提煉,并增加了環(huán)境profile和條件化bean的內容,篇幅較短,更像是一個大綱,或者思維導圖,需要的朋友可以參考下
    2023-08-08
  • spring中@RestController和@Controller的區(qū)別小結

    spring中@RestController和@Controller的區(qū)別小結

    @RestController和@Controller這兩個注解用于創(chuàng)建Web應用程序的控制器類,那么這兩個注解有哪些區(qū)別,本文就來介紹一下,并用示例代碼說明,感興趣的可以了解一下
    2023-09-09
  • Java設計模式之備忘錄模式詳解

    Java設計模式之備忘錄模式詳解

    這篇文章主要介紹了Java設計模式之備忘錄模式詳解,備忘錄模式在不破壞封裝性的前提下,捕獲一個對象的內部狀態(tài)并在該對象之外保存這個狀態(tài),這樣以后就可以將該對象恢復到原先保存的狀態(tài),需要的朋友可以參考下
    2023-12-12
  • 詳解Java數(shù)組的一維和二維講解和內存顯示圖

    詳解Java數(shù)組的一維和二維講解和內存顯示圖

    這篇文章主要介紹了Java數(shù)組的一維和二維講解和內存顯示圖,數(shù)組就相當于一個容器,存放相同類型數(shù)據(jù)的容器。而數(shù)組的本質上就是讓我們能 "批量" 創(chuàng)建相同類型的變量,需要的朋友可以參考下
    2023-05-05
  • 讀取Java文件到byte數(shù)組的三種方法(總結)

    讀取Java文件到byte數(shù)組的三種方法(總結)

    下面小編就為大家?guī)硪黄x取Java文件到byte數(shù)組的三種方法(總結)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • c#和java base64不一致的解決方法

    c#和java base64不一致的解決方法

    最近非常郁悶的處理這個base64的問題,同樣的一個圖片文件,在java和c#進行base64編碼后結果不一樣,苦惱了很久,下面這篇文章主要給大家介紹了關于c#和java base64不一致的解決方法,需要的朋友可以參考下
    2018-11-11
  • Spring-Security對HTTP相應頭的安全支持方式

    Spring-Security對HTTP相應頭的安全支持方式

    這篇文章主要介紹了Spring-Security對HTTP相應頭的安全支持方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java中 this和super的用法與區(qū)別小結

    Java中 this和super的用法與區(qū)別小結

    在Java的學習與開發(fā)者我們經(jīng)常遇到this和super關鍵字,本文主要介紹了Java中 this和super的用法與區(qū)別小結,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Sentinel結合Nacos實現(xiàn)數(shù)據(jù)持久化過程詳解

    Sentinel結合Nacos實現(xiàn)數(shù)據(jù)持久化過程詳解

    這篇文章主要介紹了Sentinel結合Nacos實現(xiàn)數(shù)據(jù)持久化過程,要持久化的原因是因為每次啟動Sentinel都會使之前配置的規(guī)則就清空了,這樣每次都要再去設定規(guī)則顯得非常的麻煩,感興趣想要詳細了解可以參考下文
    2023-05-05

最新評論