一.创建项目

  1.创建一个空的项目

  2.在空的项目中添加两个Spring Boot模块,如下图所示

    

二.在provider模块中的pom文件中添加依赖

        <dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<!--引入zookeeper的客户端工具-->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>

  注意,本人的Spring Boot是2.0以上版本的,导入的dubbo依赖是0.2.0。如果版本不对应,可能会启动失败

三.在配置文件中配置dubbo

  例如本人的配置如下(provider中的application.properties文件)

dubbo.application.name=provider
dubbo.registry.address=zookeeper://192.168.2.130:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
dubbo.scan.basePackages=com.whzc.service.impl

  如果是consumer模块,则

dubbo.application.name=consumer
dubbo.registry.address=zookeeper://192.168.2.130:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

四.在provider模块中实现发布服务

  接口

package com.whzc.service;

public interface ArticleProviderService {
public String writeArticle(String name);
}

  实现类(注意注解不要引错了)

package com.whzc.service.impl;

import com.alibaba.dubbo.config.annotation.Service;
import com.whzc.service.ArticleProviderService;
import org.springframework.stereotype.Component; @Service
@Component
public class ArticleProviderServiceImpl implements ArticleProviderService {
@Override
public String writeArticle(String name) {
return "写了一篇文章"+ name;
}
}

  启动项目,启动成功后如下图所示 (有可能连接时间过长,或zookeeper未开启等各方面原因导致启动失败,可以多尝试几次)

  

  在linux中查看服务,在zookeeper的安装目录中,有一个bin目录,bin目录中有一个zkCli.sh,启动zkCli.sh,

./zkCli.sh

  如下图所示

  

  输入

ls /

  再输入

ls /dubbo

  可以查看已经发布的服务,例如本人的如下所示

  

  附:如果装有dubbo-admin,可以直接在dubbo-admin中查看,例如下图所示(网上直接找dubbo-admin的war包,放到tomcat中即可)

  

五.在consumer中获取到服务

  1.复制provider中的接口到consumer对应的包中(和provider中的接口的包名相同,都是com.whzc.service包中),这里不需要实现类了。

  2.创建一个消费者服务,例如(注意Service注解和Reference注解对应的包不要引错了)

package com.whzc.service;
import com.alibaba.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Service; @Service
public class ArticleConsumerService {
@Reference
ArticleProviderService articleProviderService; public void readArticle(){
String str = articleProviderService.writeArticle("文章111");
System.out.println("读了别人"+str);
}
}

  3.在测试类中测试

    @Autowired
ArticleConsumerService articleConsumerService; @Test
public void contextLoads() {
articleConsumerService.readArticle();
}

  4.发现成功获取到了provider发布的服务,如下图所示

  

  如果直接启动该consumer项目,则可以在dubbo-admin中看到如下图所示

  

Spring Boot整合dubbo(注解的方式)的更多相关文章

  1. Elasticsearch学习(3) spring boot整合Elasticsearch的原生方式

    前面我们已经介绍了spring boot整合Elasticsearch的jpa方式,这种方式虽然简便,但是依旧无法解决我们较为复杂的业务,所以原生的实现方式学习能够解决这些问题,而原生的学习方式也是E ...

  2. Spring Boot 整合 Dubbo和Zookeeper

    Spring Boot 整合 Dubbo和Zookeeper Spring Boot 整合 Dubbo和Zookeeper 环境介绍 Zookeeper 安装 启动 Dubbo admin 搭建 创建 ...

  3. Spring Boot整合Mybatis(注解方式和XML方式)

    其实对我个人而言还是不够熟悉JPA.hibernate,所以觉得这两种框架使用起来好麻烦啊. 一直用的Mybatis作为持久层框架, JPA(Hibernate)主张所有的SQL都用Java代码生成, ...

  4. Spring Boot整合Dubbo使用及开发笔记

    一.概述: Spring Dubbo是我开发的一个基于spring-boot和dubbo,目的是使用Spring boot的风格来使用dubbo.(即可以了解Spring boot的启动过程又可以学习 ...

  5. spring boot 2.x 系列 —— spring boot 整合 dubbo

    文章目录 一. 项目结构说明 二.关键依赖 三.公共模块(boot-dubbo-common) 四. 服务提供者(boot-dubbo-provider) 4.1 提供方配置 4.2 使用注解@Ser ...

  6. spring boot 整合dubbo

    dubbo与springboot的集成和使用dubbo-spring-boot-starter SpringBoot整合Dubbo2.5.10(官方的spring-boot-starter0.1.0) ...

  7. Spring Boot整合Dubbo框架demo

    Dubbo框架原理见之前的博文:http://www.cnblogs.com/umgsai/p/5836925.html 首先启动zookeeper Server端 Pom配置如下 <?xml ...

  8. Spring boot配置Dubbo三种方式

    方式一 使用注解的方式 导入dubbo-starter 在application.properties配置属性 使用@Service暴露服务 使用@Reference引用服务 使用@EnableDub ...

  9. dubbo学习(十)spring boot整合dubbo

    工程搭建与配置 生产者 1.创建一个生产者的spring boot工程,配置好依赖,并把接口实现类文件夹复制到新的工程里 2.pom.xml配置dubbo的相关依赖 <!-- Dubbo Spr ...

随机推荐

  1. 查重复出现的字段 SQL

    select * from a where (select count(b.abc) from b where b.abc=a.abc)>1 一般treeview datagridview 都要 ...

  2. Nginx优化防爬虫 限制http请求方法 CDN网页加速 架构优化 监牢模式 控制并发量以及客户端请求速率

    Nginx防爬虫优化 Robots协议(也称为爬虫协议,机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可 ...

  3. java:nginx(java代码操作ftp服务器)

    1.检查是否安装了vsftpd [root@linux01 ~]# rpm -qa|grep vsftpd 2.安装vsftpd [root@linux01 ~]# yum -y install vs ...

  4. C++实现生产者和消费者

    传统的生产者消费者模型 生产者-消费者模式是一个十分经典的多线程并发协作的模式,弄懂生产者-消费者问题能够让我们对并发编程的理解加深.所谓生产者-消费者问题,实际上主要是包含了两类线程,一种是生产者线 ...

  5. 应用安全 - 编程语言 | 框架 - PHP - Djiango - 漏洞 -汇总

    CVE-2007-0404 Date , 类型Filename validation issue in translation framework. Full description 影响范围 CVE ...

  6. Caused by: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.的几种原因

    环境:centos 7+ 1.查看用户是否存在 进入安装目录使用./sbin/rabbitmqctl list_users查看是否存在用户 比如:./usr/local/rabbitmq/rabbit ...

  7. xDeepFM

    1. xDeepFM优势 自动高效的学习隐式和显示的高维特征交互 设计一个新的CIN网络可以显示学习高阶特征交互,且为Vector-Wise 2. xDeepFM整体算法框架    整个网络结构主要分 ...

  8. 使用feign上传图片

    1.添加依赖,支持SpringEncoder <dependency> <groupId>io.github.openfeign.form</groupId> &l ...

  9. TCP/IP 物理层卷三 -- 传输介质

    一.有线传输介质(Guided Transmission Media)  1.1 双绞线(Twisted Pair) 双绞线(twisted pair)是一种综合布线工程中最常用的有线传输介质(导向传 ...

  10. # 深圳杯D题爬取电视收视率排行榜

    目录 深圳杯D题爬取电视收视率排行榜 站点分析 代码实现 深圳杯D题爬取电视收视率排行榜 站点分析 http://www.tvtv.hk/archives/category/tv 每天的排行版通过静态 ...