好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

springboot2.0整合dubbo的示例代码

写在前面:

使用 springboot 作为web框架,方便开发许多,做分布式开发, dubbo 又不可少,那么怎么整合在一起呢,

跟我学一遍,至少会用

注意,springboot2.0和springboot1.x与dubbo整合不一样,

1.环境

1.新建一个空的maven项目,作为父工程,新建moudle,,service(接口层,及实现层,没有具体分,),web(web层,springboot项目)

项目结构如下

父pom如下

?

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

<properties>

     <project.build.sourceencoding>utf- 8 </project.build.sourceencoding>

     <maven.compiler.source> 1.8 </maven.compiler.source>

     <maven.compiler.target> 1.8 </maven.compiler.target>

   </properties>

 

   <dependencymanagement>

     <dependencies>

 

 

       <dependency>

         <!-- import dependency management from spring boot -->

         <groupid>org.springframework.boot</groupid>

         <artifactid>spring-boot-dependencies</artifactid>

         <version> 2.0 . 3 .release</version>

         <type>pom</type>

         <scope> import </scope>

       </dependency>

       <!--如果要把springboot工程打包成war执行,需要该jar-->

       <!--<dependency>-->

       <!--<groupid>org.springframework.boot</groupid>-->

       <!--<artifactid>spring-boot-legacy</artifactid>-->

       <!--<version> 1.0 . 2 .release</version>-->

       <!--</dependency>-->

 

       <dependency>

         <groupid>com.alibaba.boot</groupid>

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

         <version> 0.2 . 0 </version>

       </dependency>

 

       <!--引入zookeeper的客户端工具-->

       <!-- https: //mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->

       <dependency>

         <groupid>com.github.sgroschupf</groupid>

         <artifactid>zkclient</artifactid>

         <version> 0.1 </version>

       </dependency>

     </dependencies>

   </dependencymanagement>

web层pom

?

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

<dependencies>

    <dependency>

      <groupid>com.itzmn</groupid>

      <artifactid>dubbo-service</artifactid>

      <version> 1.0 -snapshot</version>

    </dependency>

    <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>

    </dependency>

 

    <!--引入zookeeper的客户端工具-->

    <!-- https: //mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->

    <dependency>

      <groupid>com.github.sgroschupf</groupid>

      <artifactid>zkclient</artifactid>

    </dependency>

    <dependency>

      <groupid>org.springframework.boot</groupid>

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

      <scope>test</scope>

    </dependency>

  </dependencies>

service层

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<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>

    </dependency>

 

    <!--引入zookeeper的客户端工具-->

    <!-- https: //mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->

    <dependency>

      <groupid>com.github.sgroschupf</groupid>

      <artifactid>zkclient</artifactid>

    </dependency>

  </dependencies>

2.接口设计

在service模块新建接口,

接口实现类的注解,service一定是dubbo的注解

3.配置文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

# spring boot application

spring.application.name = /springboot-dubbo

server.port = 9099

management.port = 9091

 

# service version

demo.service.version = 1.0 . 0

 

# base packages to scan dubbo components (e.g @service , @reference )

dubbo.scan.basepackages = com.itzmn.dubbo.service.impl

 

# dubbo config properties

## applicationconfig bean

dubbo.application.id = springboot-dubbo

dubbo.application.name = springboot-dubbo

 

## protocolconfig bean

dubbo.protocol.id = dubbo

dubbo.protocol.name = dubbo

dubbo.protocol.port = 20880

 

## registryconfig bean

dubbo.registry.id = my-registry1

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

在web层的配置文件中,配置,即可,前提,要先安装zookeeper,才能进行服务的注册,然后启动即可

4.消费者

配置

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

# spring boot application

spring.application.name = dubbo-consumer-demo

server.port = 8080

management.port = 8081

 

# service version

demo.service.version = 1.0 . 0

 

# dubbo config properties

## applicationconfig bean

dubbo.application.id = dubbo-consumer-demo

dubbo.application.name = dubbo-consumer-demo

 

## protocolconfig bean

dubbo.protocol.id = dubbo

dubbo.protocol.name = dubbo

dubbo.protocol.port = 12345

只需将服务提供者的接口jar包引入,然后注入服务即可

注意,springboot2.0和springboot1.x与dubbo整合不一样,

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://www.jianshu.com/p/226df7409641

查看更多关于springboot2.0整合dubbo的示例代码的详细内容...

  阅读:46次