一 会话层包下类的说明 会话层的代码,主要在包org.apache.ibatis.session中 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 . └── org └── apache └── ibatis └── session ├── AutoMappingBehavior.java 指定MyBatis是否以及如何自动将列映射到fieldsproperties枚举 ├── AutoMappingUnkn
一 准备阅读分支 到Github上Fork源码到自己的github(没有github账号先注册一个)。 然后选择一个发布tag,比如选择mybatis-3.5.7的源码,再创建一个分支用于阅读源码和写中文注释。如我的源码阅读分支https://github.com/qicoding/mybatis-3/tree/readsource 二 源码包路径统计与分析 通过命令 find . -name "*.java"|xargs cat|grep -v -e ^$ | sed 's/^ *//' | cut -c1 | grep -v / | grep -v "*" | wc -l查询每个包下的
一 处理器类与相关谓词工厂类如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 . └── org └── springframework └── cloud └── gateway └── handler ├── AsyncPredicate.java 异步路由谓词接口 ├── FilteringWebHandler.java 过滤W
一 抽取部分路由过滤器源码 * PrefixPathGatewayFilterFactory 请求转发路径增加前缀路由过滤器工厂 * AddRequestHeaderGatewayFilterFactory 增加请求头路由过滤器工厂 * AddRequestParameterGatewayFilterFactory 增加请求参数路由过滤器工厂 * AddResponseHeaderGatewayFilterFactory 增加响应头路由过滤器工厂 * DedupeResponseHeaderGatewayFilterFactory 删除重复响应头路由过滤器工厂 * MapReque
一 本小节全局过滤器类 * GatewayMetricsFilter 网关度量监控全局过滤器 * ReactiveLoadBalancerClientFilter 响应式的负载均衡全局过滤器 * LoadBalancerClientFilter 同步网关负载均衡客户端全局过滤器(已弃用) 二 源码解读 GatewayMetricsFilter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
一 本小节全局过滤器类 * NettyRoutingFilter Netty路由全局过滤器 * WebClientHttpRoutingFilter 使用WebClient请求的全局过滤器 实验性质的不依赖netty的过滤器(只是该过滤器实验性的,不依赖netty) * RouteToRequestUrlFilter 路由到请求Url的全局过滤器 * ForwardRoutingFilter 转发路由全局过滤器 * ForwardPathFilter 转发路径全局过滤器 * WebsocketRoutingFilter Websocket路由全局过虑器 二 源码解读 NettyR
一 本小节全局过滤器类 * AdaptCachedBodyGlobalFilter 缓存请求body的全局过滤器 * RemoveCachedBodyFilter 清除缓存body的全局过滤器 * NettyWriteResponseFilter Netty写响应全局过滤器 * WebClientWriteResponseFilter 与NettyWriteResponseFilter功能类型(只是该过滤器实验性的,不依赖netty) 二 源码解读 AdaptCachedBodyGlobalFilter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
一 过滤器相关类情况如下 以下是过滤器包下相关类及其说明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 . └── org └── springfram
一 网关自定义事件相关类 主要有六个事件类及其说明如下: 1 2 3 4 5 6 7 8 9 10 11 12 . └── org └── springframework └── cloud └── gateway └── event ├── EnableBodyCachingEvent.java 缓存请求body的事件 ├── FilterArgsEvent.java 过滤器参数事件 ├─
一 服务发现类 主要涉及到三个类如下: 1 2 3 4 5 6 7 8 9 . └── org └── springframework └── cloud └── gateway ├── discovery │ ├── DiscoveryClientRouteDefinitionLocator.java 服务发现客户端路由定义定位器-路由初始化 │ ├── DiscoveryLocatorProperties.java 服务发现相关配置参