springboot系统之间通信(一.使用dubbo通信)

 

  • springboot搭建的微服务之间在业务场景上会出现相互调用的情况,因此需要互相调用。
  • 使用dubbo直接调用对方的service
  1. 使用对方项目依赖
            <dependency>
                <groupId>com.sun</groupId>
                <artifactId>service-api</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    
    <!--dubbo依赖-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-context</artifactId>
                    </exclusion>
                </exclusions>
                <version>2.6.2</version>
            </dependency>
  2.  添加dubbo配置文件
    <!-- 配置可参考 http://dubbo.apache.org/zh-cn/docs/user/quick-start.html -->
    <!-- 服务提供方应用名,用于计算依赖关系 -->
    <dubbo:application name="user-service" owner="user-service"/>
    <!-- 定义 zookeeper 注册中心地址及协议 -->
    <dubbo:registry protocol="zookeeper" address="${dubbo.zookeeper}" client="zkclient"/>
    
    <!-- 定义 Dubbo 协议名称及使用的端口,dubbo 协议缺省端口为 20880,如果配置为 -1 或者没有配置 port,则会分配一个没有被占用的端口 -->
    <dubbo:protocol name="dubbo" port="${dubbo.port}" charset="UTF-8" threadpool="cached" threads="500" dispatcher="message"/>
    
    
    ​​​​​​​<!-- 对方项目声明需要暴露的服务接口 -->
        <dubbo:service interface="com.sun.service.UserService" ref="userServiceImpl" timeout="60000"/>
    
        <bean id="userServiceImpl" class="com.sun.service.Impl.UserServiceImpl" />
    
    
    
    <!--消费服务接口-->
        <dubbo:reference id="userService" interface="com.sun.service.UserService" timeout="60000" check="false"
    在自己的service中依赖注入对方的service

     

  3. 在自己的service中依赖注入对方的service
    @Autowired
    private UserService  userService;
     
  4. 构造入参,使用对方的返回对象接收返回值
    User user = userService.getUserByUserId(int UserId);
     
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值