微服务篇-B 深入理解SOA框架(Dubbo)_III SpringBoot整合Dubbo(学习总结)

原创作者:田超凡(程序员田宝宝)

版权所有,转载请注明原作者,严禁复制转载

实践部分

ittcf-dubbo-parent

--------------ittcf-dubbo-api

------------------------ittcf-dubbo-api-member

--------------ittcf-dubbo-api-member-impl

--------------ittcf-dubbo-api-order-impl

ittcf-dubbo-parent

Maven依赖信息

<parent>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-parent</artifactId>

            <version>2.0.1.RELEASE</version>

      </parent>

      <properties>

            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

            <java.version>1.8</java.version>

            <curator-framework.version>4.0.1</curator-framework.version>

            <zookeeper.version>3.4.13</zookeeper.version>

            <dubbo.starter.version>0.2.0</dubbo.starter.version>

      </properties>

      <dependencies>

            <dependency>

                  <groupId>org.springframework.boot</groupId>

                  <artifactId>spring-boot-starter-web</artifactId>

            </dependency>

            <dependency>

                  <groupId>com.alibaba.boot</groupId>

                  <artifactId>dubbo-spring-boot-starter</artifactId>

                  <version>${dubbo.starter.version}</version>

            </dependency>

            <dependency>

                  <groupId>org.apache.curator</groupId>

                  <artifactId>curator-framework</artifactId>

                  <version>${curator-framework.version}</version>

            </dependency>

            <dependency>

                  <groupId>org.apache.zookeeper</groupId>

                  <artifactId>zookeeper</artifactId>

                  <version>${zookeeper.version}</version>

            </dependency>

            <dependency>

                  <groupId>org.springframework.boot</groupId>

                  <artifactId>spring-boot-starter-test</artifactId>

                  <scope>test</scope>

            </dependency>

      </dependencies>

      <build>

            <plugins>

                  <plugin>

                        <groupId>org.springframework.boot</groupId>

                        <artifactId>spring-boot-maven-plugin</artifactId>

                  </plugin>

            </plugins>

      </build>

生产者

ittcf-dubbo-api-member-impl

Maven依赖信息

      <dependencies>

            <dependency>

                  <groupId>com.ittcf</groupId>

                  <artifactId>ittcf-dubbo-api-member</artifactId>

                  <version>0.0.1-SNAPSHOT</version>

            </dependency>

      </dependencies>

application.yml

server:

  port: 8080

dubbo:

  application:

    name: member

  protocol:

    name: dubbo

    port: 20880

  registry:

    address: zookeeper://127.0.0.1:2181

  scan:

    base-packages: com.ittcf.api.member.impl

发布服务

@Service

public class MemberServiceImpl implements MemberService {

      @Override

      public String getUser() {

            return "订单服务调用会员服务接口";

      }

}

注意:@Service 注解引入为阿里巴巴注解

启动服务

@EnableDubbo

@SpringBootApplication

public class AppMember {

      public static void main(String[] args) {

            SpringApplication.run(AppMember.class, args);

      }

}

@EnableDubbo 开启Dubbo服务功能

消费者

ittcf-dubbo-api-order-impl

Maven依赖信息

     <dependencies>

           <dependency>

                <groupId>com.ittcf</groupId>

                <artifactId>ittcf-dubbo-api-member</artifactId>

                <version>0.0.1-SNAPSHOT</version>

           </dependency>

     </dependencies>

application.yml

server:

  port: 8081

###dubbo 注册服务名称

dubbo:

  application:

    name: order

 ###dubbo服务地址

  protocol:

    name: dubbo

    port: 20880

  registry:

    address: zookeeper://localhost:2181

  consumer:

    timeout: 5000

调用服务

      @Reference

      private MemberService memberService;

      @RequestMapping("/orderToMember")

      public String orderToMember() {

            return memberService.getUser();

      }

使用该  @Reference调用dubbo接口

启动项目

@EnableDubbo

@SpringBootApplication

public class AppOrder {

      public static void main(String[] args) {

            SpringApplication.run(AppOrder.class, args);

      }

}

本文部分素材转载自蚂蚁课堂

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 07:24:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 07:24:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 07:24:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 07:24:03       20 阅读

热门阅读

  1. 关于安卓子模块打包,aar,jar丢失问题

    2024-03-11 07:24:03       23 阅读
  2. react hook:useeffect

    2024-03-11 07:24:03       24 阅读
  3. 【洛谷千题详解】P1605 迷宫

    2024-03-11 07:24:03       26 阅读
  4. ETL策略

    2024-03-11 07:24:03       25 阅读
  5. Ubuntu安装部署Oracle-JDK11

    2024-03-11 07:24:03       24 阅读
  6. Android 获取Sms

    2024-03-11 07:24:03       21 阅读
  7. vue slot 仔细研究一下

    2024-03-11 07:24:03       24 阅读
  8. SpringBoot实现 PDF 添加水印

    2024-03-11 07:24:03       20 阅读