-----------------------------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...