
框架源码
文章平均质量分 95
ShineMoer
这个作者很懒,什么都没留下…
展开
-
Spring系列(四) 循环依赖那些事
随着我们代码中更多服务的出现与依赖关系的耦合,bean与bean之间的交互往往会涉及很多对其他类的依赖。我们通常用简单的Autowired、提供对应依赖对象的setter方法以及构造器中传入需要引用的其他对象,spring就可以完美的做好依赖关系自动装配。那么本节就来分析下spring中是如何完成bean之间这些依赖的自动查找与注入关于这个话题,最重要的是spring中用到的三级缓存。但spring中的循环依赖情况分很多种,会进行不同场景的依次分析。本片先介绍最简单的单例对象间的注解依赖方式包括字段上.原创 2021-08-22 14:51:08 · 333 阅读 · 1 评论 -
Dubbo系列(二)服务发布注册原理
前言DubboBootstrapApplicationListener extends OnceApplicationContextEventListener只触发一次容器事件监听的执行避免事件传播,适合用于容器初始化完成和关闭等。@SPI(DirectEventDispatcher.NAME)EventDispatcher默认采用DirectEventDispatcher实现类发布事件,直接使用单线程Executor DIRECT_EXECUTOR = Runnable::runEventL原创 2021-07-31 22:09:55 · 1782 阅读 · 0 评论 -
Dubbo系列(一) 从SPI开始看ExtensionLoader
ExtensionLoader的原理SPIjava中的SPISPI(Service Provider Interface)是java中一种服务发现机制,通过在classpath下的META-INF/services下指定一接口全路径名的文件中指定具体实现类(可配置多个),通过ServiceLoader进行动态可替换的服务方式调用。测试类package com.example.spi;import java.util.ServiceLoader;public class SpiMain {原创 2021-07-04 17:40:58 · 1338 阅读 · 1 评论