- Spring Boot進階:原理、實戰與面試題分析
- 鄭天民
- 769字
- 2022-07-05 09:41:36
1.1.1 Spring基礎框架
Spring基礎框架由Rod Johnson在2003年設計并實現,自誕生之初就被認為是一種容器,其整體架構如圖1-1所示。

圖1-1 Spring基礎框架整體架構
我們先來看圖1-1中位于底部的“核心容器”部分,該部分包含了一個容器所應該具備的主體功能,涉及基于依賴注入(Dependency Injection,DI)的JavaBean處理機制、面向切面編程(Aspect Oriented Programming,AOP)、上下文(Context)以及Spring自身所提供的表達式語言(Spring Expression Language,SpEL)等輔助功能。
對于系統開發而言,我們需要在系統運行時基于某個對象的使用需求,動態提供它所依賴的其他對象,而這一點可以通過依賴注入實現。Spring會在適當的時機創建一個Bean,然后像注射器一樣把它注入目標對象中,這樣就完成了對各個對象之間關系的控制。可以說,依賴注入是開發人員使用Spring基礎框架的基本手段,我們通過依賴注入獲取所需的各種Bean。Spring為開發人員提供了三種不同的依賴注入類型,分別是字段注入、構造器注入和Setter方法注入。
而所謂的切面,本質上解決的是關注點分離的問題。在面向對象編程的世界中,我們把一個應用程序按照職責和定位拆分成多個對象,這些對象構成了不同的層次。而面向切面編程可以說是面向對象編程的一種補充,目標是將一個應用程序抽象成各個切面,這樣就可以將其單獨抽象為獨立的模塊進行開發和維護。Spring為開發人員提供了連接點(JoinPoint)、通知(Advice)、切點(PointCut)和切面(Aspect)等一系列組件,幫助他們構建面向切面的編程模型。
我們再來看圖1-1的上半部分,這里包含了構建應用程序所需要的兩大功能組件,即數據訪問和Web服務,它們也是我們日常開發中最常用的組件。這兩大部分組件中包含的內容非常多,而且充分體現了Spring的集成性。也就是說,框架內部整合了業界主流的數據庫驅動、消息中間件、ORM框架等各種工具,開發人員可以根據需要靈活地替換和調整自己想要使用的工具。
從開發語言上講,雖然Spring最廣泛的應用場景是在Java EE領域,但當前的5.x版本也支持Kotlin、Groovy以及各種動態開發語言。
- JavaScript前端開發模塊化教程
- ASP.NET Web API:Build RESTful web applications and services on the .NET framework
- CentOS 7 Server Deployment Cookbook
- 動手玩轉Scratch3.0編程:人工智能科創教育指南
- Apache Mahout Clustering Designs
- 移動界面(Web/App)Photoshop UI設計十全大補
- 新一代SDN:VMware NSX 網絡原理與實踐
- Node.js開發指南
- Python趣味編程與精彩實例
- 算法設計與分析:基于C++編程語言的描述
- Flutter之旅
- C語言程序設計
- Python機器學習
- Hands-On Data Visualization with Bokeh
- Flink原理深入與編程實戰:Scala+Java(微課視頻版)