Spring Boot整合dubbo(注解的方式)
一.创建项目
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(注解的方式)的更多相关文章
- Elasticsearch学习(3) spring boot整合Elasticsearch的原生方式
前面我们已经介绍了spring boot整合Elasticsearch的jpa方式,这种方式虽然简便,但是依旧无法解决我们较为复杂的业务,所以原生的实现方式学习能够解决这些问题,而原生的学习方式也是E ...
- Spring Boot 整合 Dubbo和Zookeeper
Spring Boot 整合 Dubbo和Zookeeper Spring Boot 整合 Dubbo和Zookeeper 环境介绍 Zookeeper 安装 启动 Dubbo admin 搭建 创建 ...
- Spring Boot整合Mybatis(注解方式和XML方式)
其实对我个人而言还是不够熟悉JPA.hibernate,所以觉得这两种框架使用起来好麻烦啊. 一直用的Mybatis作为持久层框架, JPA(Hibernate)主张所有的SQL都用Java代码生成, ...
- Spring Boot整合Dubbo使用及开发笔记
一.概述: Spring Dubbo是我开发的一个基于spring-boot和dubbo,目的是使用Spring boot的风格来使用dubbo.(即可以了解Spring boot的启动过程又可以学习 ...
- spring boot 2.x 系列 —— spring boot 整合 dubbo
文章目录 一. 项目结构说明 二.关键依赖 三.公共模块(boot-dubbo-common) 四. 服务提供者(boot-dubbo-provider) 4.1 提供方配置 4.2 使用注解@Ser ...
- spring boot 整合dubbo
dubbo与springboot的集成和使用dubbo-spring-boot-starter SpringBoot整合Dubbo2.5.10(官方的spring-boot-starter0.1.0) ...
- Spring Boot整合Dubbo框架demo
Dubbo框架原理见之前的博文:http://www.cnblogs.com/umgsai/p/5836925.html 首先启动zookeeper Server端 Pom配置如下 <?xml ...
- Spring boot配置Dubbo三种方式
方式一 使用注解的方式 导入dubbo-starter 在application.properties配置属性 使用@Service暴露服务 使用@Reference引用服务 使用@EnableDub ...
- dubbo学习(十)spring boot整合dubbo
工程搭建与配置 生产者 1.创建一个生产者的spring boot工程,配置好依赖,并把接口实现类文件夹复制到新的工程里 2.pom.xml配置dubbo的相关依赖 <!-- Dubbo Spr ...
随机推荐
- SQL Server 数据库设计、命名、编码规范
https://blog.csdn.net/songguozhi/article/details/5858159 SQL Server 数据库设计.命名.编码规范
- JSP学习案例--,竞猜游戏
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- 利用ExpandableListView实现常用号码查询功能的实现
package com.loaderman.expandablelistviewdemo; import android.content.Context; import android.databas ...
- tensorflow二进制文件读取与tfrecords文件读取
1.知识点 """ TFRecords介绍: TFRecords是Tensorflow设计的一种内置文件格式,是一种二进制文件,它能更好的利用内存, 更方便复制和移动,为 ...
- (转)MongoDB 分片集群技术
1.1 MongoDB复制集简介 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合.复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础. 1.1.1 复制集的目的 ...
- Apache POI读取Excel
1.pom.xml配置文件 <!-- 配置Apache POI --> <dependency> <groupId>org.apache.poi</group ...
- k8s1.11.0安装、一个master、一个node、查看node名称是ip、node是扩容进来的、带cadvisor监控服务
一个master.一个node.查看node节点是ip # 安装顺序:先在test1 上安装完必要组件后,就开始在 test2 上单独安装node组件,实现node功能,再返回来配置test1加入集群 ...
- Java多线程(3):wait()/notify()实例
下面是代码实例 public class WaitDemo implements Runnable { private Object lock; public WaitDemo(Object lock ...
- (2)网络基础之IP
IP分为IPV4和IPV6. 以下只讲IPV4,IPV6后期会重新分出来 (以下均为个人理解,如果有误,欢迎提出.也希望如果转载,能通知我并注明转载信息,毕竟字也是我一个个码出来的.谢谢) IPV4地 ...
- VS 特殊注释
任务注释(添加此注释后,点击视图->任务列表,可以看到TODO注释的位置)://TODO: (未实现)……//UNDONE:(没有做完)……//HACK:(修改)……