SPING 筆記一覽

SPING 介紹web

 

sping 是覆蓋整個三層框架數據庫

做用:負責管理項目中的全部對象,apache

sing 看做項目中的管家。編程

sping 一站式框架,由於他是整個項目對象的容器,就是一個容器。數組

由於他在 sping 中管理全部的對象,所以能夠處理不一樣的請求;也由於如此裏面裝着能夠操做session

數據庫的對象。架構

容器中裝着什麼對象就有什麼功能。app

能夠很清晰的將對象的關係理清,三層架構。框架

sping  的核心是控制反轉(Ioc)和麪向切面(Aop)。模塊化

sping 是一個分層的JavaSE/EEfull-stack(一站式)輕量級開源框架。

SPING的優勢:

方便解耦,簡化開發

     Sping 就是一個大工廠,能夠將全部對象建立和依賴關係維護,交給Sping管理

AOP編程的支持。

     Sping 提供面向切面的編程,能夠方便的實現對程序進行權限攔截,運行監控等功能聲明事務

的支持

   只須要經過配置就能夠完成對事務的管理,而無需手動編程

方便程序的測試

   Sping 對junit4支持,能夠經過過註解方便的測試Sping 程序

方便集成各類優秀的框架

 

 

Sping 不排斥其餘框架,還能幫其餘框架管理對象。

aop支持 ioc思想 sping  jdbc aop 事務 juint 測試支持

SPING 框架的搭建

1.導包

模塊圖:

最下排中紅框中的包就是咱們使用Sping 要導入的最最基礎的jar包

同時導入日誌包 使用apache的jar包

左上層的五個包是有關dao層的jar包

右上角的四個jar包是有關於web層的包

 2.建立一個對象

一個CLASS類,一個簡單的Java Bean文件

3.書寫配置註冊對象到容器。

sping 配置文件規則----就是沒有規則,可是建議注意業內規範,通常用applicationContext.xml

同時位置任意可是建議放在src文件之下。

導入約束:

導入約束後,將User對象交給sping容器管理

用<bean></bean>來導入

導入成功的界面。

4.代碼測試。

新建一個測試類,放入包下。

測試過程

1)建立容器對象。

2)向容器要「user」對象

3) 打印user對象

 

IOC 反轉控制:

將咱們建立的對象方式反轉了

之前對象的建立是由咱們開發人員本身維護,包括依賴關係也是本身注入。使用sping 以後,對象的建立以及依賴關係能夠由sping 完成建立以及注入。反轉控制就是反轉了對象的建立方式,從咱們本身建立反轉給了程序(sping)。

 

 DI:依賴注入:(一種技術)

實現IOC思想須要DI作技術支持

注入方式:

 set方法注入

構造方法注入

字段注入

注入類型:

值類型注入:八大基本數據類型

引用類型注入:將依賴的對象注入

application Context&Beanfactory(接口)

 

Beanfactory:接口(原始接口,實現功能較爲單一)

特色:接口實現類的容器。特色是每次在得到對象時纔會建立對象。

繼承關係圖:

applicationContext :

特色:每次容器啓動時就會建立容器中配置的全部對提供了更多功能。

從類路徑下加載配置文件ClassPathXmlApplicationContext

從硬盤絕對路徑下加載配置文件:FileSystemXmlApplicationContext.

結論: 在web開發中,使用applicationContext.在資源匱乏環境中可使用BeanFactory。

三:學習配置文件:

sping 配置詳解--

1.Bean元素:

該元素描述須要sping容器管理的對象

name屬性:給被管理的對象起個名字,得到對象是根據該名稱得到對象。(可使用特殊字符能夠重複)

class屬性:被管理對象的完整類名。

id屬性:與name屬性如出一轍。規範:名稱不可重複,不能使用特殊字符。

結論:儘可能使用name屬性。

2.sping 配置詳解。

三種對象建立方式。

建立方式一:空參構造建立方式

如下兩種建立方式瞭解

建立方式二:靜態工廠方式。

建立方式三:動態示例工廠建立user

 3.sping 配置詳解-scope屬性:

在bean元素中加的scope屬性。

 四個取值:

1)singleton:(默認值)單例對象。絕大多數時都會使用單例的。

被標識爲 單例的對象在sping 容器中只會存在一個實例

2)prototype:多例原型,被標識爲多例的對象每次在得到時纔會建立,每次建立都是新的對象

 在於與struts框架整合的時候,action對象要交給sping來管理,這是action要配置爲多例。

 

如下兩種瞭解:

3)request:在web環境下,與request的生命週期一致。

4)session:在web環境下,與session的生命週期一致。

4.sping 配置詳解,初始化&銷燬方法。

生命週期屬性(瞭解)

配置一個方法做爲生命週期初始化方法,sping會在對象建立以後當即調用。

init-method destory-method

配置一個方法做爲生命週期的銷燬方法,sping容器再關閉並銷燬全部容器中的對象以前調用5.

5.模塊化配置:

sping的分模塊配置。在主配置文件中,引入其餘配置用的元素爲import導入其餘sping配置文件

6.sping屬性注入:(set方式)(構造函數注入)(p名稱空間注入)(spel注入)

set 方式注入:

ref屬性制定哪個對象注入

2)構造函數注入:

再用構造函數方式注入時,有了name,type,index能夠指定到任何一個構造函數。

當有多個構造函數符合要求時。

用name屬性能夠指定構造函數的名稱。

用index屬性能夠指定構造函數的順序。

用type 屬性能夠指定構造函數的類型。

P名稱空間注入:首先要導入P名稱空間

7.複雜類型注入:

 

1)數組類型注入:

注意:若是數組中只准備註入一個值(對象),直接使用 value/ref便可

其餘複雜類型注入中,在多個數值注入時,在property元素下加入要注入的類型元素便可,例如:

在array類型注入中,在property元素下,加入array元素,在array元素中進行賦值。便可獲得所想注入的值。

注意,其中map類型的爲鍵值對,因此在注入時可使用entry元素來進行注入,

相關文章
相關標籤/搜索