spring初級

一. 環境搭建

  1. 導入jar包

    • spring-core-x.x.x.RELEASE.jar
    • spring-context-x.x.x.RELEASE.jar
    • spring-beans-x.x.x.RELEASE.jar
    • spring-expression-x.x.x.RELEASE.jar
    • commons-logging-x.x.x.jar
  2. 創建applicationContext.xml配置文件

    • 導入約束
    • 添加bean
  3. 創建IOC容器,並容器中獲取bean

    在這裏插入圖片描述

二. IOC容器和AOP

IOC和DI

IOC(Inversion of Control):其思想是反轉資源獲取的方向. 傳統的資源查找方式要求組件向容器發起請求查找1資源. 作爲迴應, 容器適時的返回資源. 而應用了 IOC 之後, 則是容器主動地將資源推送給它所管理的組件, 組件所要做的僅是選擇一種合適的方式來接受資源. 這種行爲也被稱爲查找的被動形式

DI(Dependency Injection) — IOC 的另一種表述方式:即組件以一些預先定義好的方式(例如: setter 方法)接受來自如容器的資源注入. 相對於 IOC 而言,這種表述更直接
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

Spring容器

  1. 在 Spring IOC 容器讀取 Bean 配置創建 Bean 實例之前, 必須對它進行實例化. 只有在容器實例化後, 纔可以從 IOC 容器裏獲取 Bean 實例並使用.
  2. Spring 提供了兩種類型的 IOC 容器實現.
    1. BeanFactory:面向框架本身的.是IOC容器的基礎設施.BeanFactory 是 Spring 框架的基礎設施,面向 Spring 框架本身;ApplicationContext 面向使用 Spring 框架的開發者,幾乎所有的應用場合都直接使用 ApplicationContext 而非底層的 BeanFactory
    2. ApplicationContext:面向開發者.提供了更多的高級特性. 是 BeanFactory 的子接口.
      ClasspathXmlApplicationContext.
      在這裏插入圖片描述
      在這裏插入圖片描述

三. 依賴注入

  1. set方式注入:提供成員變量對應的set方法.

    在這裏插入圖片描述

  2. 構造器注入:提供對應的構造器.
    在這裏插入圖片描述

  3. 注入的細節

    1. 可以使用value/ref屬性的方式注入,也可以使用/子標籤的方式注入
    2. 如果遇到特殊字符的注入:
      a 使用轉移字符/實體,可以參考手冊.
      b 使用<![CDATA[...]]>的方式****
  4. List/Map類型的注入

    1. List/Set/Array:
      在這裏插入圖片描述
    2. Map
      在這裏插入圖片描述
  5. 內部bean:定義到一個bean的內部的bean。內部bean只能在內部使用.
    在這裏插入圖片描述

四. 自動裝配

  1. 自動裝配引用類型的屬性.
  2. 使用autowire屬性來指定裝配的方式
  3. 自動裝配的方式
    1. byName:通過要裝配的屬性的名字與 IOC容器中bean的id值進行匹配
    2. byType:通過要裝配的屬性的類型與 IOC容器中bean的class值進行匹配,如果匹配到多個兼容的類型,會有異常.
    在這裏插入圖片描述

五. bean之間的關係

  1. 繼承
    在這裏插入圖片描述
  2. 依賴: 依賴就是指定關係,並不會賦值。
    在這裏插入圖片描述

六. bean的作用域

  1. ingleton: 單例(默認值),在IOC容器中,只有一個該bean的實例對象.並且該bean的對象會在IOC容器初始化的時候創建
  2. prototype: 原型,在IOC容器中,有多個該bean的實例對象.不會在IOC容器初始化的時候創建,而是在每次getBean的時候纔會創建一個新的對象返回.
  3. request:一次請求期間
  4. session:一次會話期間.

七. 引入外部的配置文件

在這裏插入圖片描述db.properties:
在這裏插入圖片描述

八. Bean的生命週期

  1. 調用構造器創建對象
  2. 給對象的屬性設置值
  3. 調用init方法進行初始化
  4. 使用對象
  5. 調用destroy方法進行對象的銷燬.
    在這裏插入圖片描述

九. bean的配置方式

  1. 全類名(反射)的方式
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章