原创 spring 源碼分析 平臺事務管理

AOP 事務對象 (PlatformTransactionManager) PlatformTranscationManager 平臺事務管理作爲事務的通用 API 處理。 提供三個方法: 1、根據事務定義創建事務狀態 Tran

原创 spring boot 源碼分析 啓動流程 (SpringApplication#run)

解析Springboot源碼。博主採用版本是Springboot2.2.1,Spring5.2.0,新特性本系列後面也會着重分析。 整個系列會圍繞springboot啓動流程進行源碼分析,在整個流程中,會遇到一些核心類或者核心流程

原创 spring 源碼分析 應用上下文刷新 (AbstractApplicationContext#refresh方法)

這章我們分析 spring 核心方法refresh(), Spring容器的創建刷新過程。 這個方法在 spring 中有着很重要的功能處理下面我們來分析: AbstractApplicationContext # refres

原创 spring 源碼分析 五種方式加載應用上下文

spring 加載應用上下文方式: 一、 從Web應用下的一個或多個XML配置文件中加載應用上下文 此上下文在 DispatchServlet 創建上下文時使用, 通過xml 啓動時創建web上下文. ApplicationC

原创 spring 源碼分析 管理請求映射-上 (RequestMappingHandlerMapping)

RequestMappingHandlerMapping 類結構 繼承結構: RequestMappingHandlerMapping impl實現 MatchableHandlerMapping接口、Embedd

原创 spring 源碼分析 應用上下文層級關係

應用層級分析: 級 別 類 型 類名 注 釋 作用 A1 接口 ApplicationContext 應用上下文 (環境獲取、 bean容器、 消息資源、 事件發佈器、 資源加載器) B1 接口 WebAppli

原创 spring 源碼分析 事件廣播 (SimpleApplicationEventMulticaster 觀察者模式)

解析Springboot源碼。博主採用版本是Springboot2.2.1,Spring5.2.0,新特性本系列後面也會着重分析。 整個系列是圍繞springboot啓動流程進行源碼分析,在整個流程中,會遇到一些核心類或者核心流程

原创 spring 源碼分析 管理請求映射-下 (RequestMappingHandlerMapping)

RequestMappingHandlerMapping 類是 HandlerMapping接口 的實現, 是spring 定義的默認處理流程 spring mvc 請求流程: ---- 其中需要通過HttpRequestS

原创 Java HashMap 源碼淺入

HashMap 獲取數據 分析get方法之前得先了解 hash(key) 方法和 getNode(hash, key) 方法 ,hash() 方法是獲取對應的下標位置的必須步驟, 找到對應的 node 在去遍歷查找 對應相同的

原创 spring 源碼分析 生命週期

bean 初始化流程: 初始化bean 填充屬性 處理BeanNameAware接口               (setBeanName) 處理BeanClassLoaderAware接口    (setBeanClassLoader)

原创 spring 源碼分析 代理工廠 (ProxyFactory)

在之前spring aop解析中提到代理,是通過BeanPostProcessor 處理器來創建代碼, 那麼它是如何來創建代理的呢,採用的代理是動態代理還是靜態代理呢,這裏我繼續分析. 創建ProxyFactory 對象設置其屬

原创 spring 源碼分析 請求流程 (DispatcherServlet)

spring mvc 請求流程: 1、獲取所有HandlerMapping , 通過ServletRequest 請求獲取HandlerExecutionChain 對象. (其中封裝着HandlerMethod, Handle

原创 MyBatis 源碼之解析篇

mybatis 初始化流程 步驟: 1、通過 ClassLoader 類加載器讀取某個路徑的 xml 文件來獲取 InputStream 流對象. 2、通過 SqlSessionFactoryBuilder 對象來解析流, 返回

原创 spring 源碼分析 接口方法 (BeanFactory bean容器)

BeanFactory 容器 核心 類名 實現接口 說明 SimpleAliasRegistry AliasRegistry 別名註冊類 DefaultSingletonBeanRegistry Singlet

原创 spring 源碼分析 依賴循環 (AbstractBeanFactory)

spring中獲取bean循環依賴時 ApplicationContext ac = new ClassPathXmlApplicationContext(“spring-test.xml”); ac.getBean(“test