Dubbo 之 SpringBoot 直连提供者的使用

上一小节【Dubbo 之 Spring 直连提供者的使用】讲述了Dubbo与Spring环境整合直连提供者如何实现远程访问,这一小节讲述Dubbo与SpringBoot环境如何整合进行直连访问

1)新建一个项目

下一步:

直至最后完成。然后我们需要创建我们的两个模块,【provider】和【consumer】,依然在我们刚才创建的父工程上右击新建【Module】,创建我们的两个子模块,创建完毕,工程结构如下图:

 

2)工程结构建造完毕,接下来我们一个模块一个模块的去实现。首先我们实现【provider】模块

2.1)引入dubbo的配置

        <dependency>
            <groupId>com.alibaba.spring.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

2.2)新建我们的接口

public interface ServiceAPI {
    String getMessage(String msg);
}

 2.3)实现我们的接口,注意添加我们的注解

//将此实现类变为可加载bean
@Component
//此注解意为将此接口暴露出去,对应我们spring环境中配置的<dubbo:service>
@Service(interfaceClass = ServiceAPI.class)
public class ServiceAPIImpl implements ServiceAPI {
    @Override
    public String getMessage(String msg) {
        return "provider-message:"+msg;
    }
}

(这里需要注意的是:Service引入的一定是【com.alibaba.dubbo.config.annotation.Service】的注解,不然无法暴露服务)

2.4)配置文件中配置

spring.application.name=dubbo-spring-boot-provider-starter
spring.dubbo.server=true
spring.dubbo.registry=N/A

2.5)启动类添加注解【@EnableDubboConfiguration】

 

3)provider大功告成,接下来我们去实现我们的【consumer】调用模块

3.1)引入配置

        <dependency>
            <groupId>com.alibaba.spring.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

3.2)将provider模块中定义的接口拷贝到consumer模块中一份,两者保持路径一致

3.3)配置文件配置,这里比较简单,只是简单配置服务的名称即可达到演示目的

spring.application.name=dubbo-spring-boot-consumer-starter

3.4)启动类添加注解【@EnableDubboConfiguration】

3.5)创建我们调用端具体的调用类

@Component
public class ConsumerImpl {
    @Reference(url = "dubbo://localhost:20880")
    ServiceAPI serviceAPI;

    public String sendMessage(String msg){
        return serviceAPI.getMessage(msg);
    }
}

3.6)启动主类进行测试

@SpringBootApplication
@EnableDubboConfiguration
public class ConsumerApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(ConsumerApplication.class, args);
        ConsumerImpl consumer=(ConsumerImpl)run.getBean("consumerImpl");
        String str = consumer.sendMessage("我是consumer端");
        System.out.println(str);
    }

}

效果如下:

这样,springboot与dubbo直连环境的搭建就可以了 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值