Spring基礎知識記錄1

Spring概念

  1. spring是開源的輕量級的框架

  2. spring核心主要兩部分:

    1. aop 面向切面編程,擴展功能不是修改源代碼實現

    2. ioc 控制反轉, 比如有一類,在類裏有一個方法(不是靜態方法),調用類裏面的方法,創建類的對象,使用對象調用方法,創建類對象的過程,需要new出來對象

      把對象的創建不是通過new方式實現的,而是交給Spring配置創建類對象

  3. spring是一站式的框架

    1. Spring在javaee三層結構中,每一層都提供不同的解決技術

    web層:SpringMVC

    service層:Spring的ioc

    dao層:Spring的jdbc Template

  4. Spring 4.x

Spring 的ioc操作

  1. 把對象創建直接交給Spring來進行管理
  2. ioc操作兩部分:
    1. ioc的配置文件方式
    2. ioc的註解方式

IOC底層原理

  1. ioc底層原理使用技術

    1. xml配置文件
    2. dom4j解析xml
    3. 工廠設計模式
    4. 反射
  2. 思想:高內聚,低耦合

    Ioc原理:

在這裏插入圖片描述

IOC入門案例

第一步:導入jar包

  1. 解壓資料文件
  2. jar包特點:都有三個jar包
   1. 基本jar包
   2. 文檔
   3. 源代碼
  3. 做Spring最基本功能時候,導入四個核心的jar包就可以了

在這裏插入圖片描述

  4. 導入支持日誌輸出的jar包

第二步:創建類,創建方法

第三步:創建spring配置文件,配置創建類

  1. spring 核心配置文件名稱和位置不是固定的

  2. 建議放到src下面,官方建議applicationContext.xml

  3. 引入schema約束

 ![在這裏插入圖片描述](https://img-blog.csdnimg.cn/2020030719352249.png)
  1. 配置對象創建

第四步 寫代碼測試

在這裏插入圖片描述

Spring的bean管理(xml方式)

Bean實例化的方式

  1. 在spring裏面通過配置文件創建對象

  2. bean實例化三種方式實現

    1. 使用類的無參數構造創建

      <bean id="user" class="User"></bean>
      

      類裏沒有無參數構造會出現異常

    2. 使用靜態工廠創建

      1. 創建靜態的方法,返回類對象
      2. 在這裏插入圖片描述
    3. 使用實例工廠創建

      1.創建不是靜態的方法,返回類對象

    在這裏插入圖片描述

Bean標籤常用屬性

  1. id屬性:id屬性值名稱任意命名

    id屬性值不能包含特殊符號

    根據id值得到配置對象

  2. class屬性:創建對象所在類的全路徑

  3. name屬性:功能和id屬性是一樣的,id屬性值不能包含特殊符號,但是在name屬性值裏面可以包含特殊符號,遺留屬性,基本不用

  4. scope屬性:在這裏插入圖片描述

屬性注入

  1. 創建對象時,向類裏面屬性裏設置值

  2. 屬性注入的方式介紹(三種方式)

    在這裏插入圖片描述

  3. Spring框架中,支持前兩種方式

    1. set方法注入

      在這裏插入圖片描述

      在這裏插入圖片描述

    2. 有參數構造注入

      在這裏插入圖片描述

      在這裏插入圖片描述

注入對象類型屬性

  1. 創建service類和dao類

    1.在service中得到dao對象

  2. 具體實現過程

    1.在service裏面把dao作爲類型屬性

    2.生成dao類型屬性的set方法

    在這裏插入圖片描述

    3.配置文件注入關係

    在這裏插入圖片描述

P名稱空間注入

在這裏插入圖片描述

注入複雜類型屬性

  1. 數組
 ![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200307193943156.png)
  1. list集合

    在這裏插入圖片描述

  2. map集合

    在這裏插入圖片描述

  3. properties類型

    在這裏插入圖片描述

IOC和DI區別

  1. ioc:控制反轉,把對象創建交給spring進行配置
  2. DI:依賴注入,向類裏面的屬性中設置值
  3. 關係:依賴注入不能單獨存在,需要在ioc基礎上完成操作

Spring整合web項目原理

  1. 加載spring核心配置文件

    1. new對象,功能可以實現,效率很低
  2. 實現思想:把加載配置文件和創建對象過程,在服務器啓動時候完成

  3. 實現原理

    1. ServletContext對象
    2. 監聽器
    3. 具體使用

    在服務器啓動時候,爲每個項目創建一個ServletContext對象

    在ServletContext對象創建時,使用監聽器可以具體到ServletContext對象什麼時候創建

    使用監聽器聽到ServletContext對象創建時候

    加載spring配置文件,把配置文件配置對象創建

    把創建出來的對象放到ServletContext對象裏面(setAttribute方法)

    獲取對象,到ServletContext域得到(getAttribute方法)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章