博客 / 詳情

返回

【後端面經-Spring】Spring簡介

【後端面經-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核心特性

  1. IOC
    IOC(Inversion of Control)即控制反轉,是一種設計思想,就是將原本在程序中手動創建對象的控制權,交由Spring框架來管理。
    Spring框架在核心容器中的BeanFactory模塊中使用了工廠模式創建Java對象,這些對象就是常説的“Bean”對象,對於Bean對象的生命週期、創建方式,在此不做贅述。
    DI(Dependency Injection)即依賴注入,是IOC的一種實現方式,即通過反射機制,將Bean對象的屬性注入到Bean對象中。有兩種注入方式:設值注入(通過setter方法進行設置,較為簡單)、構造注入(可構造依賴注入的優先級,但是較為複雜)。
  2. 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”對象;而面向切面編程指的是將項目中的通用功能進行封裝,形成獨立切面從而複用。

參考資料

  1. Spring詳解(一)----Spring框架介紹
  2. Spring基礎知識彙總 Java開發必看
  3. Spring開發-廖雪峯官方網站
user avatar xiaoweiyu 頭像 ershixiong_5c2aeab02da87 頭像 FatTiger4399 頭像 prepared 頭像 huzilachadedanche 頭像 mo_or 頭像 nian_5aedc008c1353 頭像 tracy_5cb7dfc1f3f67 頭像 zilliz 頭像 91cyz 頭像 tingtr 頭像 xiaoqian01 頭像
17 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.