一.创建项目
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; } }
启动项目,启动成功后如下图所示
在linux中查看服务,在zookeeper的安装目录中,有一个bin目录,bin目录中有一个zkCli.sh,启动zkCli.sh,
./zkCli.sh
如下图所示
输入
ls /
再输入
ls /dubbo
可以查看已经发布的服务,例如本人的如下所示
附:如果装有dubbo-admin,可以直接在dubbo-admin中查看,例如下图所示(网上直接找dubbo-admin的war包,放到tomcat中即可)
五.在consumer中获取到服务
复制接口到consumer对应的包中,使用@Reference将远程的服务注入进来即可