springboot2.2.2集成dubbo的实现方法
最近在学习dubbo,想着作一些笔记,从来没有在csdn上面写过博客,今天献出第一次,哈哈,直接上代码
一、创建父工程
4.0.0 org.springframework.boot spring-boot-starter-parent 2.2.2.RELEASE com.dubbo demo01 1.0.0 pom SpringBoot2.x整合dubbo api provider consumer UTF-8 UTF-8 1.8 2.7.5 4.2.0 3.4.12 org.apache.dubbo dubbo-spring-boot-starter ${dubbo.version} org.apache.curator curator-recipes ${curator.version} org.apache.zookeeper zookeeper ${zookeeper.version} org.springframework.boot spring-boot-devtools runtime true org.projectlombok lombok true
二、创建提供者与消费者共用的api
该模块没有什么好说的,提供者和消费者都需要使用的接口api,提供者和消费者都需要引入该模块
demo01 com.dubbo 1.0.0 4.0.0 api
//注解都是lombok的,真的很方便 @Data @Builder @NoArgsConstructor @AllArgsConstructor(access=AccessLevel.PRIVATE) publicclassUserimplementsSerializable{ privateIntegerid; privateStringname; privateIntegerage; }
publicinterfaceUserService{ UsergetUserById(Integerid); }
三、创建提供者
4.0.0 com.dubbo 1.0.0 demo01 com.dubbo provider 0.0.1-SNAPSHOT provider DemoprojectforSpringBoot org.springframework.boot spring-boot-starter-web org.apache.dubbo dubbo-spring-boot-starter org.apache.curator curator-recipes org.apache.zookeeper zookeeper com.dubbo api 1.0.0 org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine org.springframework.boot spring-boot-maven-plugin
dubbo: application: #应用名称 name:user-provider protocol: #协议名称 name:dubbo #协议端口 port:20880 registry: #注册中心地址 address:zookeeper://192.168.104.231:2181
@SpringBootApplication //提供服务的应用必须配置此项 @DubboComponentScan("com.dubbo.provider.service") publicclassProviderApplication{ publicstaticvoidmain(String[]args){ SpringApplication.run(ProviderApplication.class,args); } }
@Component //该service是org.apache.dubbo.config.annotation.Service @Service publicclassUserServiceImplimplementsUserService{ @Override publicUsergetUserById(Integerid){ Useruser=User.builder() .id(id) .name("张三") .age(20+id) .build(); returnuser; } }
四、创建消费者
4.0.0 com.dubbo 1.0.0 demo01 com.dubbo consumer 0.0.1-SNAPSHOT consumer DemoprojectforSpringBoot org.springframework.boot spring-boot-starter-web org.apache.dubbo dubbo-spring-boot-starter org.apache.curator curator-recipes org.apache.zookeeper zookeeper com.dubbo api 1.0.0 org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine org.springframework.boot spring-boot-maven-plugin
#端口 server: port:8081 dubbo: application: name:user-consumer protocol: name:dubbo port:20880 registry: address:zookeeper://192.168.104.231:2181
@SpringBootApplication publicclassConsumerApplication{ publicstaticvoidmain(String[]args){ SpringApplication.run(ConsumerApplication.class,args); } }
@RestController @RequestMapping("/user") publicclassConsumerController{ @Reference privateUserServiceuserService; @GetMapping("/{id}") publicUsergetUserById(@PathVariableintid){ returnuserService.getUserById(id); } }
五、启动并访问
先启动provider,启动结果如下
启动consumer,启动结果如下
浏览器访问:http://localhost:8081/user/4
好了,到此就完成了最基本的springboot与dubbo的整合,更多的dubbo的api请查阅dubbo官方文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。