Spring框架學習筆記

2021-06-18 23:36:44 字數 3319 閱讀 1476

-----------------------------spring框架-------------------------

一、spring框架概述

1、 spring框架提供了乙個開發平台,用於整合其他技術,例如struts,hibernate,mybatis等。舉個例子spring就像是一台電腦的主機板,為各種硬體設施提供了介面,cpu,記憶體,硬碟都有各自的介面。這樣做的好處也是顯而易見的,比如在改善系統的結構方面,更利於系統的擴充套件和公升級。

2、作用:a,提供了整合其他技術的api

b,提供了建立物件的功能,這樣spring就程式設計了乙個大的工廠,所以spring是乙個具有工廠功能的框架

c,spring提供了兩種非常重要的機制ioc和aop,這樣的好處是降低了元件物件之間的耦合度。

二、spring框架基本應用

1、物件建立功能,有兩種方式

a,使用配置檔案:

i.新增spring-ioc開發jar包到build-path

iii.將bean元件在配置檔案中定義(bean元件也就是需要使用spring建立的物件),

iiii.例項化spring容器物件,呼叫getbean("標示符")獲取bean物件。

b,使用註解:

(何為註解,就是在類定義、方法定義或成員變數前追加@標記)

spring可以利用對元件追加註解,實現自動掃瞄功能,這樣可以代替xml檔案中冗雜的元素定義。自動掃瞄技術可以掃瞄指定package下的元件,當發現元件定義前有spring指定的標記時,就會將該元件掃瞄到spring容器,等價於定義了乙個元素。

spring掃瞄標記有:

@component:其他元件使用

@reposity:dao使用

@service:業務層元件使用

@controller:控制層元件使用

掃瞄元件後,id標示符預設為類名首字母小寫,可以通過@service("id標示符")來指定。

@scope:等價於scope屬性

@postconstruct:等價於init-method屬性

@predestroy:等價於destroy-method屬性

使用方法:

i.在spring配置檔案中開啟元件掃瞄<

ii.在元件類定義中使用上述相應的標記

tip:在屬性變數或set方法前,使用@resource標記,spring會採用型別匹配規則注入。對於多個型別相同的可以採用@resource(name="要注入bean的id值")格式。

-----------------------------

spring提供了乙個@autowired標記,作用與@resource相同,都是按型別匹配注入。如果需要注入指定名稱的bean物件,格式如下:

@autowired

@qualifier("id值")

---------------------------

2、ioc機制

a,概念:字面意思是控制反轉,可以理解為元件之間的呼叫,將元件物件的建立和關係的建立由第三方框架或容器負責。

b,ioc實現原理----依賴注入

當兩個元件存在使用關係時,也就是存在依賴關係。依賴關係建立可以通過以下幾種注入途徑:

---setter方式注入,通過set方法將dao傳入

在action中定義屬性變數和set方法

在定義配置時,指定注入

---構造方式注入

通過構造器將dao傳入
在action中定義屬性變數和帶引數的構造方法
在定義配置時,指定注入

3、aop機制

1),aop又被稱為面向方面程式設計,其實就是在物件導向的基礎上又進行了一次封裝,由與物件導向是將共同的屬性和方法封裝起來,而面向方面程式設計則是面向共同的方面邏輯,就像事務和異常,所有的物件都會產生這樣乙個共性的方面。

2),aop程式設計概念

*a.方面(aspect)
封裝共通處理部分的元件。方面
元件可以被切入到其他目標元件
方法上的。
*b.切入點(pointcut)
負責指定哪些元件方法呼叫
方面(共通)處理.通過乙個表示式
指定。
c.連線點(joinpoint)
切入點是連線點的集合。連線點
包含了方面和目標方法關聯的資訊。
例如當前作用的目標元件型別和作用
的方法名等資訊。
*d.通知(advice)
負責指定方面處理和目標元件
方法之間的作用關係。例如先執行
方面處理再執行目標處理;先執行
目標處理再執行方面處理等
e.目標(target)
啟用方面處理的元件,即切入點
指定的元件

c,aop的實現

aop是通過使用動態**技術實現的,實現過程,當採用aop切入之後,spring容器返回的目標物件是採用動態**技術生成的乙個型別。該型別會重寫原目標的方法,內部會呼叫原目標的方法和方面處理。

3), aop程式設計實現

a,引入aop開發包

b,編寫方面元件,引入aop元件

c,新增spring的aop配置

//action包內所有的類的方法指定為切入點

d,使用註解的方式

首先在spring的xml配置檔案中開啟aop註解配置,方面元件中使用下面標記

@component掃瞄到容器

@aspect指定成方面元件
@around環繞通知
@before前置通知
@afterreturning後置通知
@after最終通知
@afterthrowing異常通知

Spring框架學習筆記

spring框架宗旨 不重新發明技術,讓原有技術使用起來更加方便.核心功能 ioc di 控制反轉 依賴注入 aop 面向切面程式設計 宣告式事務中文名稱 控制反轉 英文名稱 inversion of control ioc 是什麼?3.1 ioc 完成的事情原先由程式設計師主動通過 new 例項化...

spring框架學習筆記2

springioc 1 責任鏈 我們使用mvc進行開發的時候,資料在各層之間進行傳遞,資料在業務層上構成乙個鏈條,這個鏈條成為責任鏈.2 基於責任鏈模式開發的缺點 責任鏈開發模式,我們發現層與層之間互相呼叫,造成層與層耦合性太高.3 解決的方案 spring ioc 控制反轉 4 實現 step 1...

Spring框架學習筆記 xml配置

1.dispatcherservlet攔截前段發來的請求 springmvc所有的請求都會通過乙個前段控制器servlet,其任務是將請求傳送給springmvc控制器。一般在web.xml中配置 mvc dispatcher org.springframework.web.servlet.disp...