Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(最新版) (4)

RpcShopService.java:暴露接口,供消费端使用

package cn.raysonblog.shopserviceprovider.service; /** * 提供暴露的Rpc接口 * @author raysonfang */ public interface RpcShopService { String sayHello(String name); }

ShopServiceImpl.java: 实现类

package cn.raysonblog.shopserviceprovider.service.impl; import cn.raysonblog.shopserviceprovider.service.RpcShopService; import org.apache.dubbo.config.annotation.Service; /** * 接口实现类 * * ## @Service 这个注解是使用dubbo提供的, * 这个注解中有很多属性,需要单独了解去进行配置 * * @author raysonfang */ @Service public class ShopServiceImpl implements RpcShopService { public String sayHello(String name) { return name; } } shop-service-consumer: 代码实现 package cn.raysonblog.shopserviceconsumer; import cn.raysonblog.shopserviceprovider.service.RpcShopService; import org.apache.dubbo.config.annotation.Reference; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; /** * * 把主类和controller写在一起,方便简单测试演示。 * * @author raysonfang */ @SpringBootApplication @RestController public class ShopServiceConsumerApplication { @Reference RpcShopService shopService; @RequestMapping(name = "/sayHello", method = RequestMethod.GET) public String sayHello(){ return shopService.sayHello("Hello Dubbo Nacos!更多原创分享,技术交流,关注:Java技术干货(ID:raysonfang)"); } public static void main(String[] args) { SpringApplication.run(ShopServiceConsumerApplication.class, args); } } 6、测试

测试的时候,启动顺序

启动顺序

6.1、启动nacos-server注册中心

下载nacos-server:https://github.com/alibaba/nacos/releases

nacos-server下载

解压nacos-server, 找到bin目录

Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(最新版)

windows点击startup.cmd, 启动nacos

nacos-server

在浏览器中输入::8848/nacos/index.html, 便可以访问到nacos的控制台。用户名和密码默认为nacos

Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(最新版)

6.2、启动shop-service-provider服务提供者

Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(最新版)

在nacos控制台可以看到信息:

Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(最新版)

6.3、启动shop-service-consumer服务消费者

Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(最新版)

在nacos控制台可以看到如下信息:

Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(最新版)

在浏览器端输入::8081/sayHello, 便会返回结果。

Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(最新版)

7、问题记录及解决 7.1、在整合的时候,pom引入dubbo及nacos相关依赖包,花费时间蛮多。主要是包引入不成功。

解决:去maven的本地依赖库中,删除引入不成功的依赖包,在重新reimport。

7.2、 在开启dubbo的时候,注解引用不正确:错误注入@EnableDubboConfig。

解决: 换成使用@EnableDubbo。

7.3、yml配置Dubbo的相关属性,网上资料蛮少的。

解决:通过查看DubboConfigurationProperties.java源码,去分析属性配置。

8、后记

由于能力有限,若有错误或者不当之处,还请大家批评指正,一起学习交流!

源代码放置Github: https://github.com/raysonfang/spring-boot-demo-all

欢迎大家star, 批评

我平常学习,编码也都会放置github上,欢迎持续关注交流。
我的github: https://github.com/raysonfang

Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(最新版)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjwzs.html