您的位置:首页 > 编程语言 > Java开发

springboot整合dubbo(使用dubbo的springboot starter)

2018-05-20 11:27 405 查看

1. 项目结构


2. maven依赖(服务端)

<!-- 第一种starter -->
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
</dependency>
<!-- 第二种dubbo的starter -->
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
</dependency>

    网上查了各种整合案例,有两种dubbo的springboot starter,我也不知道这两者有什么区别,但是前者网上案例比较多,后者比较少。后者更新频率也更高。所以我选择了后者。

服务端pom.xml

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.lwb</groupId>
<artifactId>elasticsearch-service</artifactId>

<parent>
<groupId>com.lwb</groupId>
<artifactId>dubbo-elasticsearch</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>

<dependencies>
<dependency>
<groupId>com.lwb</groupId>
<artifactId>ealsticsearch-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>

<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.12</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
<exclusions>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>

<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-web</artifactId>-->
<!--</dependency>-->
</dependencies>
</project>
3. application.properties

之前属性名称前面加了 spring.dubbo.*,启动报错,识别不了。


4. 对外暴露的服务


    api包是需要消费者端依赖的,所以接口放在了api包里面,实现需要对消费者隐藏,所以放在了服务端。@Serveice注解是dubbo的注解,代替了之前配置在xml里面的<dubbo:service/>

5. 启动类


6. 结果


阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: