天天看點

springBoot+dubbo消費端的使用springBoot+dubbo消費端的使用

springBoot+dubbo消費端的使用

相關引用:

springBoot+dubbo服務提供者的使用

zookeeper安裝

  • 基于全注解方式

  1. pom.xml檔案(引入springBoot+dubbo服務提供者的使用裡建立的接口項目和dubbo依賴)
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.8.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.dubbo</groupId>
        <artifactId>consumer</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>consumer</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <!--自定義接口類-->
            <dependency>
                <groupId>com.dubbo</groupId>
                <artifactId>service</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    
            <!--引入dubbo-->
            <dependency>
                <groupId>com.alibaba.boot</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <version>0.2.0</version>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
               
  2. application.properties配置檔案

    #提供方應用資訊,用于計算依賴關系

    dubbo.application.name=dubboConsumer

    #使用zookeeper注冊中心

    dubbo.registry.address=zookeeper://127.0.0.1:2181

    springBoot+dubbo消費端的使用springBoot+dubbo消費端的使用
  3. springBoot啟動類添加@EnableDubbo注解
    springBoot+dubbo消費端的使用springBoot+dubbo消費端的使用
  4. 引用服務提供者提供的接口
    springBoot+dubbo消費端的使用springBoot+dubbo消費端的使用
  5. 通路DubboTestController
    springBoot+dubbo消費端的使用springBoot+dubbo消費端的使用
  • 基于XML方式

    1. 使用上面的pom.xml檔案
    2. 建立xml配置檔案
      springBoot+dubbo消費端的使用springBoot+dubbo消費端的使用
      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
             xmlns="http://www.springframework.org/schema/beans"
             xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
             http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
      
          <!-- 提供方應用資訊,用于計算依賴關系 -->
          <dubbo:application name="dubboConsumer"/>
      
          <!-- 使用zookeeper注冊中心 -->
          <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
      
          <!-- 将該接口暴露到dubbo中 -->
          <dubbo:reference interface="com.dubbo.service.DubboTestService" id="dubboTestService" group="test" version="1.0.0"/>
      </beans>
      
                 
    3. 執行
      import com.dubbo.service.DubboTestService;
      import org.springframework.context.support.ClassPathXmlApplicationContext;
      
      
      public class ConsumerApplication {
      
          public static void main(String[] args) {
             
              ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("consumer.xml");
              DubboTestService dubboTestService = context.getBean("dubboTestService", DubboTestService.class);
              System.out.println(dubboTestService.getTestResult());
          }
      }