Spring原始碼學習(1)

2022-09-26 04:48:15 字數 1155 閱讀 9034

一、前言

該系列部落格用於記錄本人學習spring原始碼的過程,以spring5.1為例。第一篇筆記不會記錄太多**相關的內容,更多的是梳理一下spring整體的結構,本人學識有限,如果書寫過程中有什麼紕漏希望及時指出。

二、spring簡介

spring是乙個開源框架,它由rod johnson建立。它是為了解決企業應用開發的複雜性而建立的。spring使用基本的j**abean來完成以前只可能由ejb完成的事情。然而,spring的用途不僅限於伺服器端的開發。從簡單性、可測試性和松耦合的角度而言,任何j**a應用都可以從spring中受益。

三、spring核心概念

beanfacotry(spring工廠核心的介面!!!)

既然要學習原始碼就要對結構有乙個大體的了解。首先看一下spring最核心的工廠介面的繼承關係。從圖中不難看出beanfacotry的眾多的子介面,以及子類。例如hierarchicalbeanfactory、autowirecapablebeanfactory、listablebeanfactory等等一些列的。子介面是在擁有父介面所有能力的前提下,對父介面進行功能的擴充套件。接下來簡單介紹一下beanfacotry子介面的作用(之後會詳細介紹)。

1、beanfactory:spring工廠體系中最底層的介面,定義了工廠的基本操作,例如獲取bean、是否包含某個bean、獲取bean的型別。

2、hierarchicalbeanfactory(可繼承的bean工廠):顧名思義,該介面給工廠賦予了可繼承的能力。應用:springmvc中的父子工廠。

3、autowirecapablebeanfactory(自動注入bean工廠):給工廠賦予自動注入的能力。

5、configurablebeanfactory(可配置工廠):可配置bean是否為單例、以及提供型別轉換等功能。

未完待續。。。

spring 原始碼學習 1

1.spring 是乙個非侵入性 non invasive 框架,其目標是使應用程式 對框架的依賴最小化,應用 可以在沒有spring或者其它的容器下執行。2.spring提供了乙個一致的程式設計模型,使用應用直接使用pojo開發,從需可以與應用環境 如web伺服器 隔離開來。3.spring推動應...

Spring 原始碼學習 day1

前言 最近也不知道該忙些什麼樣的事情。便隨便看看原始碼算了。正文 1 或git clone https 2 spring 原始碼是採用 gradle 來編譯的。至於 gradle 怎麼安裝,請參考 gradle 的安裝 開啟命令視窗,將當前目錄切換到原始碼所在目錄 像看那部分就到哪部分的目錄下 執行...

Spring原始碼學習

a spring 初始化的時候首先要執行的類為 org.springframework.web.context.contextloaderlistener 或 org.springframework.web.context.contextloaderservlet 接下來看一下在這個方法裡幹了寫什麼...