Spring框架學習筆記(1)

ZFAblog發表於2020-09-10

Spring 框架學習筆記(1)

一、簡介

  • Rod Johnson(spring之父)

  • Spring是分層的Java SE/EE應用 full-stack(服務端的全棧)輕量級(跟EJB比)開源框架,以IoC(Inversion of Controll,控制反轉,解耦)和AOP(Aspect oriented programming,面向切面程式設計,底層是動態代理)為核心。

  • 提供:能整合開源世界眾多著名的第三方框架和類庫,逐漸成為使用最多的Java EE企業應用開源框架。

    • 表示層Spring MVC

    • 持久層Spring JDBCTemplate,Spring Data JPA

    • 業務層事務管理等等

二、Spring的優勢

  1. 方便解耦,簡化開發

  2. AOP程式設計的支援

  3. 宣告式事務的支援

  4. 方便程式的測試

  5. 方便整合各種優秀框架

  6. 降低JavaEE API的使用難度

  7. Java原始碼是經典學習範例

三、Spring的體系結構

  

四、控制反轉 IOC

  • IoC:Inversion of Control,控制反轉。是指 把建立物件的控制權交給框架:要想得到一個物件,由原來的主動建立物件,變成自己被動接收 框架建立的物件。

  • IoC是Spring的核心思想之一

  • 作用:用於降低程式間的耦合性

  • IoC設計模式:工廠設計模式

 

  (1)XML的IoC

註冊bean:

  • 配置示例:<bean id=" " class=" " scope=" " init-method=" " dedtroy-method=" ">

  • id屬性:bean物件的唯一標識

  • class屬性:bean的全限定類名

  • scope屬性:bean的作用範圍(singleton:預設值,單例的;prototype:多例的)

  • init-method屬性:指定一個初始化方法

  • dedtroy-method:指定一個銷燬方法

bean 例項化的三種方式:

  1. 無參構造方法例項化,預設的:讓Spring呼叫bean的無參構造,生成bean例項物件給我們。

  2. 工廠靜態方法例項化:讓Spring呼叫一個工廠類的靜態方法,得到一個bean例項物件。

  3. 工廠非靜態方法例項化(例項化方法):讓Spring呼叫一個工廠物件的非靜態方法,得到一個bean例項物件。

依賴注入:下面講

  (2)註解的IoC

  (3)純註解的IoC

五、依賴注入DI

  (1)依賴注入:Dependency Injection,是Spring的Ioc核心的具體實現。(也叫 自動裝配)

    • 類裡依賴什麼,由Spring注入(提供)什麼

  (2)三種常見注入方式:

    • set方法注入

    • 構造方法注入

    • p名稱空間注入

       (3)注入集合資料:

    比如:給陣列、List、Set、Map等注入資料

    所有單列結構的資料集合,標籤可以互換使用。例如:List、Set、陣列等

    所有鍵值對結構的資料集合,標籤可以互換使用。例如:Map、Properties等

 

 

 

 

相關文章