sharding-jdbc源码解析之spring集成

spring集成配置解析java

本文转自“天河聊技术”微信公众号spring

 

找到spring的handler这个类微信

上图中是对sharding-jdbc的三个标签的解析,咱们此次主要分析分片配置的解析,读写分离的配置解析也是同样的逻辑架构

咱们看到上图中的init的方法第一行是对分片策略的解析,进入到初始化的这个类中大数据

进入到上图中的业务方法,根据传进来的xml节点对象,也就是strategy的xml节点对象进行下一步解析xml

咱们跟踪上图的第一行代码的rootBeanDefinition方法进去发现这个方法对象

factoryMethodName这个属性值赋值为null,接着在进入到下个方法内element

spring初始化bean有两种方法,一种是工厂方法模式、一种就是直接调用无参构造器进行初始化bean,上面咱们看到是调用的StrategyConfig这个类的无参构造器初始化的bean,咱们在返回到上级的这个方法源码

最后调用了bean构造器工厂对象的方法对StrategyConfig对象的参数进行赋值it

咱们在返回到上图的这行代码

对data-source节点进行解析,这个节点的下级节点比较多,因此解析的逻辑比较复杂,这也是咱们今天配置解析的重点了,咱们进入到这个类ShardingJdbcDataSourceBeanDefinitionParser的parseInternal方法,咱们进入到这个方法

对SpringShardingDataSource这个对象进行初始化,咱们看下怎么对这个对象进行初始化的

这个类的构造方法有两个参数

factory.addConstructorArgValue(parseShardingRuleConfig(element, parserContext));这行代码是对SpringShardingDataSource的构造方法赋值

咱们进入到这个方法

咱们进入上图的这个方法,主角终于出场了,咱们进入这个方法

进入上图的方法

返回上一级进入到这个方法

返回上一级进入到这个方法

最后这里是对属性的解析

配置解析第一部分完成了,内容比较多分两篇来写,咱们总结下到如今配置解析封装成了几个对象

StrategyConfig对象

ShardingRuleConfig分片规则配置对象

TableRuleConfig表规则配置对象

 

本次分享到这里结束了,不对的地方欢迎留言指正,以上内容仅供参考。

 

欢迎关注本人微信公众号“天河聊技术”,有更多javaWeb技术、架构、互金行业大数据相关的技术源码解析的文章。

相关文章
相关标签/搜索