#【後端面經-Spring】Spring簡介 [TOC](【後端面經-Spring】Spring簡介) ## 1. Spring簡介 Spring是為了簡化java項目開發設計的一款設計層面開源框架,其設計目的就是為了“簡化開發”。 它使用分層架構,解決業務邏輯層和各層之間的松耦合。 核心特性: - ...
【後端面經-Spring】Spring簡介
目錄1. Spring簡介
Spring是為了簡化java項目開發設計的一款設計層面開源框架,其設計目的就是為了“簡化開發”。
它使用分層架構,解決業務邏輯層和各層之間的松耦合。
核心特性:
- IOC:控制反轉;
- AOP:面向切麵編程;
2. Spring模塊
Spring框架可分為如下所示的模塊:
- 核心容器(Core Container):核心容器提供Spring框架的基本功能;
- 數據訪問/集成(Data Access/Integration)
- 網路(Web);
- AOP模塊和Aspects(切麵);
- 設備(Instrumentation);
- 測試(Test);
每個模塊的詳細介紹可參考此博客:Spring詳解(一)----Spring框架介紹
3. Spring核心特性
- IOC
IOC(Inversion of Control)即控制反轉,是一種設計思想,就是將原本在程式中手動創建對象的控制權,交由Spring框架來管理。
Spring框架在核心容器中的BeanFactory模塊中使用了工廠模式創建Java對象,這些對象就是常說的“Bean”對象,對於Bean對象的生命周期、創建方式,在此不做贅述。
DI(Dependency Injection)即依賴註入,是IOC的一種實現方式,即通過反射機制,將Bean對象的屬性註入到Bean對象中。有兩種註入方式:設值註入(通過setter方法進行設置,較為簡單)、構造註入(可構造依賴註入的優先順序,但是較為複雜)。 - AOP
AOP(Aspect Oriented Programming)即面向切麵編程,是一種編程思想,是對OOP(Object Oriented Programming)的補充,OOP是對業務邏輯的封裝,而AOP是對業務邏輯的分離,即將業務邏輯和非業務邏輯分離,使得業務邏輯更加清晰。
AOP將項目中的通用功能進行封裝,形成獨立切麵從而復用。
4. Spring的後續拓展
Spring是由Rod Johnson於2003年創建的,目前已經發展到了Spring5.0版本。後來,在Spring框架的基礎上,又引申出了SpringBoot、SpringCloud等框架,這些框架都是基於Spring框架的,是Spring框架的拓展。目前SpringBoot框架也是一個常用框架。
學習路徑應如下所示:
Java基礎-->設計模式-->Spring框架-->SpringMVC-->SpringBoot、SpringCloud
面試模擬
Q:介紹一下Spring,什麼是IOC、AOP、JavaBean?
A:Spring是為了簡化java開發而設計的設計層面開源框架,核心思想是控制反轉和麵向切麵編程,其中,控制反轉指的是原本由程式手動創建對象的權力交給spring框架,從而實現資源的集中管理,創建的對象使用依賴註入的思想傳遞給相關類,這些被創建的對象稱為“Bean”對象;而面向切麵編程指的是將項目中的通用功能進行封裝,形成獨立切麵從而復用。