1.Spring----使用XML裝配Bean

視頻課程 https://ke.qq.com/course/27346
如何使用idea創建
 http://blog.csdn.net/industriously/article/details/52851588?_t=t
 IBM :https://www.ibm.com/developerworks/cn/java/wa-spring1/ 
 極客學院:http://wiki.jikexueyuan.com/project/spring/annotation-based-configuration.html

一.Spring介紹

Spring是一個優秀的開源的框架,它是為了解決企業級開發的復雜度而誕生的,是一個容器。它是一種分層架構的程序,使用者可以根據需要使用它每一個部分的組件。同時又能集成其他優秀的開源框架。

1.在spring中把所有由spring管理的對象都叫bean
2.spring是非侵入型的不需要實現spring的接口和父類
3.通過配置文件提供依賴注入的功能,面向切面編程
4.spring是一個容器,管理容器中各個組件的生命周期
5.一站式的框架。在ioc和aop的情況下整合其他第三方的框架。

![Uploading Paste_Image_611356.png . . .]

二、IOC和DI

IOC:控制反轉,容器自動向所管理的組件推送資源,組件只需要選擇一個合適的資源接受
DI:依賴注入,組件以預定好的方式接收組件推送的資源,例如set方法。

三、配置Bean

1.首先創建IOC容器。通常有兩種創建的方式
1.1ApplicationContext:開發者使用該方式,基本所有的開發都通過該類實現容器實例
1.2BeanFactroy:底層使用

ApplicationContext的實現方式


尚硅谷
Paste_Image.png

四、依賴注入

XML顯示的配置:

1.屬性注入
** 1.1 在xml中的bean標簽下使用property標簽。**
注意指定的類一定要提供set方法。property的那么屬性一定對應set方法,除去"set"字段的名稱。比如setName對應Name。

Paste_Image.png

1.2 bean之間的互相引用,使用ref參數表示,注意ref的值只能是xml中已經聲明的其他bean的id

Paste_Image.png

1.3還可以使用內部bean,在property內部嵌套一個

內部bean

1.4 null屬性的專有標記

<null/>
Paste_Image.png

1.5 級聯屬性的賦值
spring支持給bean內部的對象參數賦值,例如Person中有一個car屬性。注意使用級連屬性賦值前一定要保證對象被初始化。

級聯
Paste_Image.png

2.構造方法注入
在xml中使用使用constructor-arg表示構造器,value表示構造器的參數,index表示構造器參數的順序,type表示類型,如果string類型中含有特殊字符,可以使用下面的格式進行包裹。以便容器識別

<![CDATA[內容]]>
Paste_Image.png
Paste_Image.png

*2.1 使用P命名空間注入

   引入p命名空間
    xmlns:p="http://www.springframework.org/schema/p"

在bean的標簽中使用,idea會自動識別出bean中的參數

Paste_Image.png

3.配置集合屬性
3.1給集合參數賦值,使用list+ref標簽,注意ref引用的是在xml中配置過的bean。

Paste_Image.png
Paste_Image.png

3.2 Properties 屬性賦值

Paste_Image.png
Paste_Image.png

3.4將部分屬性抽離出來,共其他bean引用

3.4.1需要引入新的命名空間,其中utils的名字自定義

xmlns:utils="http://www.springframework.org/schema/util"
在schemaLocation中添加util的解析環境
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd"

3.4.2 創建一個可以供引用的對象

Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容