SpringBoot + Dubboアノテーションメソッドの統合例

1. zookeeper登録センターを起動し、Linuxの各パッケージのbinディレクトリで監視センターとtomcatを監視します。コマンドは次のとおりです。
(1)zookeeper:./zkServer.sh start
(2)monitor:./server.sh start
(3)tomcat:./startup.sh

SpringBoot-dubbo-provider構成:
2。理想的にspringboot-dubbo-providerのspringパッケージを作成
し、プロバイダーのpomファイルに次の依存関係を導入します。

		<dependency>
            <groupId>com.qiuzelin</groupId>
            <artifactId>dubbo-interface</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>

その中で、依存関係は、dubboのインターフェース依存関係とspringboot統合dubboの依存関係です。
3.プロバイダーのapplication.ymlファイル
dubboのプロバイダーアプリケーション名、登録センターの名前とアドレス、およびdubboが使用するポート番号を構成します。

dubbo:
  application:
    name: springboot-dubbo-provider
  registry:
    protocol: zookeeper
    address: 192.168.157.128:2181
  protocol:
    port: 28801

4. @ EnableDubboアノテーションをメインメソッドクラスに追加します。

@SpringBootApplication
@EnableDubbo
public class SpringbootDubboProviderApplication {
    
    

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

}

5. serviceimplを作成して、セルフインターフェイスインターフェイス(このブログのDubbo分散フレームワークの実際の戦闘におけるインターフェイスインターフェイス)を実装します。

package com.qiuzelin.springbootdubboprovider.service;

import com.alibaba.dubbo.config.annotation.Service;
import com.qiuzelin.service.IUserService;
import org.springframework.stereotype.Component;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: qiuzelin
 * @Date: 2020/09/30/11:05
 * @Description:
 */
@Component //表明这是spring组件,受到spring管理,因为下面的service是dubbo的service
@Service //dubbo的service,不是spring的service,用来发布服务
public class UserServiceImpl implements IUserService {
    
    

    @Override
    public String hello() {
    
    
        return "springboot+dubbo";
    }
}

注:ここでの@Serviceアノテーションはdubboのパッケージであり、@ Componentは、Spring管理を実装するために元のSpring @ Serviceアノテーションを置き換えるために使用されます。

SpringBoot-dubbo-consumer構成:
6。コンシューマーのpomファイルを構成します
。dubboのインターフェイス依存関係とAlibabaのdubboの依存関係パッケージをspringbootに追加します。

		<dependency>
            <groupId>com.qiuzelin</groupId>
            <artifactId>dubbo-interface</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>

7. comsumer application.ymlファイルを構成します:dubbo
コンシューマーアプリケーション名、登録センターの名前とアドレスなど。

dubbo:
  application:
    name: consumer-boot-anotation
  registry:
    protocol: zookeeper
    address: 192.168.157.128:2181

8.同様に、@ EnableDubboアノテーションをメインメソッドクラスに追加します。

@SpringBootApplication
@EnableDubbo
public class SpringbootDubboConsumerApplication {
    
    

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

}

9.コンシューマーテストクラスでテストします。

package com.qiuzelin.springbootdubboconsumer;

import com.alibaba.dubbo.config.annotation.Reference;
import com.qiuzelin.service.IUserService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class SpringbootDubboConsumerApplicationTests {
    
    

    @Reference
    private IUserService iUserService;

    @Test
    void contextLoads() {
    
    
            System.out.println(iUserService.hello());
            System.in.read();      
    }

}

その中で、@ Referenceは、分散リモートサービスオブジェクトを挿入するために使用されます。これは、ダボ構成で使用する必要があります。

10.プロバイダーのメインメソッドとコンシューマーのテストメソッドを実行します
。dubbo仮想マシン公開アドレス192.168.157.128:8088にログインし、バックグラウンドサービスにサービスプロバイダー、サービスコンシューマー、および監視センターがあることを確認します。
ここに写真の説明を挿入
ここで、
監視センターアドレスは仮想マシンアドレスから取得されます。 (192.168.157.128:7070)、
サービスプロバイダー(192.168.157.1:28801)、およびサービスコンシューマー(192.168.157.1)のアドレスは、ローカルアドレスから取得されます。

おすすめ

転載: blog.csdn.net/weixin_41570890/article/details/108948932