Spring學習筆記

2021-08-21 09:57:54 字數 3879 閱讀 5725

spring

1、第一天

1.spring是乙個開源框架,主要優勢之一是其分層架構,分層架構允許使用者選擇使用哪乙個元件.

spring的核心是ioc(控制反轉)和aop(面向切面)。

2.ioc:建立類的物件的時候,使用ioc實現物件建立,通過配置檔案方式建立物件。

底層原理技術:xml配置檔案;dom4j解析xml檔案;工廠模式;反射

aop:不通過修改源**方式增強類裡面的方法。

3.spring框架需要的包:beans;core;context;spel;commons-logging-1.2; log4j-1.2.16;

4.配置檔案:bean.xml   放到src下

約束內容:

<?xml version="1.0" encoding="utf-8"?>

5.spring的bean管理:(1)建立物件(bean例項化)

(2)設定類裡面屬性值

6.類的例項化:

(1)使用類的無參構造: 

(2)使用靜態工廠建立:

(3)使用例項工廠建立

7.scope屬性id屬性:根據id屬性值獲取物件; 在乙個spring配置檔案中,可以有多個bean標籤,但是bean標籤id屬性值不同

class屬性類的全路徑

scope屬性

(1)主要作用:配置建立物件是單例項還是多例項物件

(2)屬性值: 預設值,singleton,表示單例項物件; prototype,表示多例項物件; action是多例項物件

request:把建立物件放到request裡面

session:把建立物件放到session裡面

globalsession:把建立物件放到globalsession裡面

8.屬性注入:

(1)使用有參構造注入

(2)使用set方法注入:

(3)注入物件型別屬性:

9.test方法;

@test

public void testuserdao()

二、第二天

spring

1 spring分模組配置開發

(1)載入配置檔案的時候,載入多個。

(2)在配置檔案中一如其它配置檔案

2 注入複雜型別屬性(會用)

歐陽娜娜

沈月劉惜君

張三丰李小龍喬峰

3 spring的bean管理(註解)(重點)

使用註解方式實現建立物件和注入屬性

什麼是註解?

(1)註解**中特殊標記

(2)寫法: @註解名稱(屬性名稱1=屬性值1, 屬性名稱2=屬性值2)

(3)註解可以使用類上面、使用方法上面、使用在屬性上面

(4)為什麼使用註解:替代配置檔案實現一部分功能,簡化配置

3.1jar包

3.2配置檔案

<?xml version="1.0" encoding="utf-8"?>

3.3spring註解建立物件

與@component功能相同的註解: //value可以省略

@controller :web層

@service:業務層

@repository:持久層

例子:(1)

bean包下:

@component("user")           //建立例項物件

//@scope(value="prototype") 單例和多例設定

public class user

}

test包:

@test

public void test_1()

(2)物件型別屬性

@component("people")

public class people

@test

public void test_2()
3.4配置檔案和註解混合使用

建立物件使用配置檔案

注入屬性使用註解

4 aop概念和原理

4.1 aop概述:aspect oriented programming面向切面(方面)程式設計,不通過修改源**方式實現功能擴充套件

aop底層原理:橫向抽取機制,動態**實現

4.2aop操作相關術語

切入點:實際增強的方法

增強/通知;增強乙個類裡面的方法,寫增強的邏輯稱為 通知/通知

切面:在方法上面寫增強邏輯,應用到切入點的過程。

4.3:通知型別

前置通知:

後置通知:

環繞通知:

異常通知:

最終通知:

4.5 aopjar包

4.6使用表示式配置切入點:

execution(* cn.itcast.userdao.update(..))      //增強該方法

execution(* cn.itcast.userdao.*(..)) //增強該類的所有方法

execution(* *.*(..)) //增強所有

4.7例項:

bean.xml:

原來的類:

public class user 

}

增強類:

public class myuser
//環繞需要這樣寫

public  void round(proceedingjoinpoint p) throws throwable 

}

test方法:

public class testdemo 

}

結果:

spring學習筆記

spring中兩個十分重要的概念 ioc di aop 1.ioc di inverse of control dependence injection ioc 控制反轉,看起來比較牛b,說起來十分簡單。就是不使用傳統的將類的依賴關係用硬編碼來維護的方式,而是讓容器來管理類之間的依賴,依賴關係在全在...

Spring 學習筆記

實現ioc的兩種方式 dependency injection 和 service locator 關於依賴注入 依賴注入指的是,當您在a物件內部需要b物件的某個功能時,a就依賴於b,您可以直接在a內部例項化b,但日後要修改就麻煩些。如果您不直接在a內部例項化b,而是通過ioc將乙個b例項從外部設定...

spring學習筆記

spring的bean的生命週期 只用反射機制通過class路徑獲得class型別,呼叫預設建構函式例項化乙個物件。呼叫bean的property設定物件的屬性 set方法 如果bean的類實現了beannameaware介面,那麼還會呼叫setbeanname方法 如果bean的類實現了beanf...