栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot2.2.2集成dubbo的实现方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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
  Spring Boot2.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)
public class User implements Serializable {
  private Integer id;
  private String name;
  private Integer age;
}
public interface UserService {
  User getUserById(Integer id);
}

三、创建提供者



  4.0.0
  
    com.dubbo
    1.0.0
    demo01
  

  com.dubbo
  provider
  0.0.1-SNAPSHOT
  provider
  Demo project for Spring Boot

  
    
      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")
public class ProviderApplication {

  public static void main(String[] args) {
    SpringApplication.run(ProviderApplication.class, args);
  }

}

@Component
// 该service是org.apache.dubbo.config.annotation.Service
@Service
public class UserServiceImpl implements UserService {
  @Override
  public User getUserById(Integer id) {
    User user = User.builder()
 .id(id)
 .name("张三")
 .age(20 + id)
 .build();

    return user;
  }
}

四、创建消费者



  4.0.0
  
    com.dubbo
    1.0.0
    demo01
  

  com.dubbo
  consumer
  0.0.1-SNAPSHOT
  consumer
  Demo project for Spring Boot

  
    
      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

public class ConsumerApplication {

  public static void main(String[] args) {
    SpringApplication.run(ConsumerApplication.class, args);
  }

}
@RestController
@RequestMapping("/user")
public class ConsumerController {
  @Reference
  private UserService userService;

  @GetMapping("/{id}")
  public User getUserById(@PathVariable int id) {
    return userService.getUserById(id);
  }
}

五、启动并访问

先启动provider,启动结果如下

启动consumer,启动结果如下

浏览器访问:http://localhost:8081/user/4

好了,到此就完成了最基本的springboot与dubbo的整合,更多的dubbo的api请查阅 dubbo官方文档

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/135394.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号