Dubbo 源码剖析与实战
何辉
平安壹钱包架构师
4711 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 33 讲
开篇词 (1讲)
Dubbo 源码剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

13|集成框架:框架如何与Spring有机结合?

你好,我是何辉。上一讲我们纵览了框架在源码中是怎么体现的,今天来学习框架的集成。
如果你开发过以 Spring 框架为基础的应用,就会知道 Dubbo 框架常被当作第三方框架集成到应用中,这也是为什么你会经常看到 Spring 集成 Dubbo 框架、Spring Boot 集成 Dubbo 框架。
然而当 Spring 集成 Dubbo 框架后,为什么你在编写代码时,只用了 @DubboReference 注解就可以调用提供方的服务了呢?就像使用 Spring 的 @Autowired、@Resource 注解一样方便,究竟 Dubbo 框架是怎么与 Spring 无缝结合的呢?带着这个问题,我们开始今天的学习。
一切都要从日常开发过程中编写代码调用远程接口讲起。

现状 integration 层代码编写形式

假设我们正在开发一个已经集成了 Dubbo 框架的消费方系统,你需要编写代码远程调用下游提供方系统,获取业务数据。这是很常见的需求了。
当系统设计的层次比较鲜明,我们一般会把调用下游提供方系统的功能都放在 integration 层,也就意味着当前系统调用下游提供方系统的引用关系都封装在 integration 层。那你的代码可能会这么写:
public interface SamplesFacade {
QueryOrderRes queryOrder(QueryOrderReq req);
}
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了Dubbo框架与Spring框架的有机结合,以及改善integration层代码的方法。作者首先介绍了当前integration层代码编写形式,然后提出了如何改善integration层代码的问题,并通过抽象和封装的思路探讨了如何简化integration层的代码编写。文章重点讲解了封装的思路,提出了四种变量因素,并探讨了如何将这些因素抽象成相应对象,以及如何在实现类中调用统一的封装方法。通过具体的代码示例和技术思路,本文深入浅出地介绍了Dubbo框架与Spring框架的有机结合,以及如何改善integration层代码的方法。文章通过注解的方式解决了变化因素的问题,为读者提供了一种简洁、舒适的调用下游提供方接口的方式。文章通过自定义扫描器类和重写Spring框架的方法,实现了对指定注解类的精准扫描,进一步提高了代码的精确性和可控性。同时,通过代理对象的创建和Spring框架的实例化方法,实现了接口的代理对象创建,为读者展示了如何利用Spring框架的特性来简化代码编写。总之,本文通过深入的技术讨论和实际示例,为读者提供了在Dubbo框架与Spring框架集成以及integration层代码改善方面的宝贵经验和指导。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Dubbo 源码剖析与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 胡月🌈
    感觉和spring集成的框架,feign、mybatis都是这个套路:自定义注解,扫描,动态代理生成目标类。

    作者回复: 你好,胡月🌈:是的,你总结的言简意赅,非常nice~这些套路的核心思想是一致的~

    2023-01-19归属地:北京
    5
  • 斯瓦辛武Roy
    你的源码里没看到这一节的代码呢

    作者回复: 你好,斯瓦辛武Roy:这个课主要是想让大家深刻了解集成框架的思想,至于对应的Demo代码有兴趣的话,可以去了解这个分支代码的实现:https://gitee.com/ylimhhmily/dubbo-feign-spring-boot-starter-master

    2023-01-16归属地:上海
    3
    1
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部