知識點:
1.Spring課程概述
知識點 | 核心內容 | 重點 |
Spring框架概述 | 輕量級容器框架,封裝復雜邏輯,需理解IOC、AOP等核心機制 | 容器框架 vs 普通框架、封裝帶來的理解門檻 |
學習難點 | 動態代理、反射、注解、IO操作、XML解析、容器(如ConcurrentHashMap)的綜合應用 | 動態代理實現原理、反射與注解的協同機制 |
課程設計亮點 | 通過手動實現Spring底層機制(如IOC、AOP)加深理解,避免源碼閱讀的混亂 | 手動實現 vs 源碼分析、Bin Post Processor機制 |
Spring重要性 | 后續SSM、Spring Boot、Spring Cloud等框架的基礎,核心地位不可跳過 | 基礎不牢導致后續學習困難 |
學習方法 | 跟隨課程節奏完成作業和代碼實踐,強調Java基礎的重要性 | 理論+實踐的結合、基礎知識的回溯應用 |
2.官網和下載
知識點 | 核心內容 | 重點 |
Spring框架概述 | Spring是一組技術/框架的集合(如Spring Boot、Spring Cloud等),而非單一技術 | Spring家族包含多個子項目,需區分核心框架(Spring Framework)與其他組件 |
官方資料使用 | 通過官網和GitHub獲取文檔、源碼及JAR包 | 官網訪問可能受地區限制 |
版本管理 | 強調版本一致性(示例:5.3.8),避免兼容性問題 | 新版與教學版本差異可能導致API不兼容 |
框架本質 | 框架由JAR包(含class文件、源碼、JavaDoc)組成,引入項目即可使用 | 區分運行依賴(class文件)與開發依賴(源碼/文檔) |
下載流程 | 通過GitHub倉庫下載指定版本JAR包(如5.3.8的spring-framework-5.3.8.RELEASE-dist.zip) | 需注意下載完整包(含libs/docs)而非單一模塊 |
學習重點 | 掌握機制與原理而非特定版本,以應對版本迭代 | 版本更新可能優化API但核心原理不變 |
環境配置 | 嚴格遵循版本(如5.3.8),避免自行升級 | 版本差異可能導致環境調試困難 |
3.文檔介紹
知識點 | 核心內容 | 重點 |
Spring框架文檔類型 | 在線文檔、離線文檔(HTML/PDF)、離線API(JavaDoc) | 在線文檔默認顯示最新版,需注意版本切換 |
在線文檔使用 | 通過URL訪問,包含Overview/Core/Data等分類模塊 | 需手動復制鏈接到瀏覽器地址欄 |
離線文檔結構 | 解壓ZIP后獲取docs文件夾,含API(類/接口方法)和reference(框架介紹) | PDF與HTML內容一致,但格式不同 |
離線API查詢 | 通過Java doc API查看包/類/方法詳情(如aop、beans包) | 按需查詢,避免全量學習 |
核心學習方法 | “用到再查”原則,重點掌握高頻API(如buildMessage方法參數說明) | 類字段、構造器、方法說明需結合實踐理解 |
- 官方資源:
- 在線文檔:https://docs.spring.io/spring-framework/docs/current/reference/html/
- 離線文檔路徑:spring-framework-5.3.8\docs\reference\html\index.html
- 離線API路徑:spring-framework-5.3.8\docs\javadoc-api\index.html
4.內容介紹
知識點 | 核心內容 | 重點 |
IOC(控制反轉) | Spring通過控制反轉技術管理Java對象 | 控制反轉概念(傳統對象創建 vs. Spring托管) |
AOP(切面編程) | 橫向切面編程技術,實現功能解耦 | 動態代理實現原理(JDK/CGLIB) |
JDBC Template | Spring提供的數據庫訪問技術 | 與傳統JDBC對比(資源管理簡化) |
聲明式事務 | 基于IOC和AOP實現的事務管理 | 事務傳播機制(REQUIRED/NESTED等) |
學習重點 | IOC和AOP是核心機制,需深入理解 | 聲明式事務依賴前兩者,應用性強但理解難度較高 |
?
5.幾個重要概念
知識點 | 核心內容 | 重點 |
Spring框架整合能力 | Spring是管理其他框架的框架,可整合MyBatis等第三方框架 | 理解"框架的框架"概念 |
IOC控制反轉 | 將對象創建權交給Spring容器,通過XML/注解配置對象及其依賴關系 | 傳統new對象 vs 容器獲取對象 |
AOP面向切面編程 | 橫向切面編程技術,實現功能解耦 | 需區分IOC與AOP應用場景 |
傳統開發模式 | 程序員主動讀取配置+創建對象(new/反射) | 反射機制創建對象原理 |
Spring開發模式 | 容器自動創建對象+管理依賴,程序直接使用現成對象 | XML配置與注解配置區別 |
數據庫連接案例 | 對比JDBC傳統連接方式與Spring管理方式 | 連接池配置方式變化 |
對象依賴管理 | 容器自動解決對象間引用關系(如EmpAction依賴EmpService) | @Resource注解作用 |
6.幾個重要概念
知識點 | 核心內容 | 重點 |
依賴注入(DI) | DI是IOC的另一種叫法,通過容器自動管理對象依賴關系,避免手動new操作 | DI與IOC的關系(DI是IOC的具體實現方式) |
Spring核心價值 | 通過配置/注解管理對象生命周期和依賴關系,解耦業務代碼與對象創建邏輯 | 傳統開發模式對比(Servlet→Service→DAO需逐層new) |
容器作用 | 存儲預配置對象及依賴關系,支持通過get直接獲取實例 | 容器與配置文件/注解的關聯(XML vs 注解) |
開發模式轉變 | 程序員專注業務邏輯,容器負責對象創建和依賴注入 | new操作消失的原因(容器隱式完成) |
JDBC Template示例 | Spring提供的現成工具類,可直接從容器調用 | 內置對象 vs 自定義對象的注入方式 |
學習路徑 | 先理解整體框架(容器、DI、IOC),再逐步深入底層原理 | 快速入門與原理理解的平衡 |
7.快速入門
知識點 | 核心內容 | 重點 |
Spring IOC基礎配置 | 通過XML配置文件定義Java Bean(Monster類)并注入屬性值 | 必須提供無參構造器(反射創建對象的基礎) |
Spring開發環境搭建 | 引入核心jar包:beans/core/context/expression + commons-logging | 各jar包功能區分(初學者易混淆) |
Bean屬性配置 | <bean>標簽的class/id屬性 + <property>子標簽賦值 | ID唯一性(容器中獲取對象的唯一標識) |
反射機制應用 | Spring底層通過反射調用無參構造器實例化對象 | 屬性未賦值時的默認值問題(與直接new對象區別) |
XML配置文件規范 | beans.xml文件結構:根標簽<beans>包含多個<bean>定義 | class屬性必須寫全限定名(包名+類名) |