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、测试测试的时候,启动顺序
下载nacos-server:https://github.com/alibaba/nacos/releases
解压nacos-server, 找到bin目录
windows点击startup.cmd, 启动nacos
在浏览器中输入::8848/nacos/index.html, 便可以访问到nacos的控制台。用户名和密码默认为nacos
在nacos控制台可以看到信息:
在nacos控制台可以看到如下信息:
在浏览器端输入::8081/sayHello, 便会返回结果。
解决:去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