![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
中间件整合源码
cqgvip
站在巨人肩上也不是最高的
展开
-
MyBatis(基于ImportBeanDefinitionRegistrar)实现与spring整合
启动类如下图MapperScan注解类如下图原创 2022-06-15 23:40:08 · 169 阅读 · 0 评论 -
Nacos (基于ApplicationListener<WebServerInitializedEvent>)做服务注册
自动配置基于spi机制,引入自动配置类NacosServiceRegistryAutoConfiguration到这里一目了然了spring核心方法refresh的完成后广播事件,最终会调用如下方法之后的扩展代码如下图原创 2022-06-15 23:13:13 · 695 阅读 · 0 评论 -
openFeign (基于ImportBeanDefinitionRegistrar)自动整合到spring中
启动类如下图EnableFeignClients注解类如下图下图为扫描的过程将扫描到的每一个接口类 包装成 FeignClientFactoryBean 并注册到容器中去原创 2022-06-15 22:49:32 · 196 阅读 · 0 评论 -
xxl-job (基于SmartInitializingSingleton)整合到spring中
重写了SmartInitializingSingleton.afterSingletonsInstantiated() 方法每一个bean中查找标注有XxlJob注解的方法s,针对每一个方法进行数据组装注册方法和对应的bean被组装成MethodJobHandler 进行注册原创 2022-06-15 22:27:16 · 158 阅读 · 0 评论 -
RocketMq (基于SmartInitializingSingleton) 与spring自动整合的
实现SmartInitializingSingleton接口的bean会在spring fresh方法内,初始化完所有单例bean 之后,会被调用SmartInitializingSingleton.afterSingletonsInstantiated()。SmartInitializingSingleton 重写了 afterSingletonsInstantiated()方法,从applicationContext中获取所有标有RocketMQMessageListener的bean,并将他包装成原创 2022-06-15 22:10:35 · 173 阅读 · 0 评论