視頻課程 https://ke.qq.com/course/27346
如何使用idea創(chuàng)建
http://blog.csdn.net/industriously/article/details/52851588?_t=t
IBM :https://www.ibm.com/developerworks/cn/java/wa-spring1/
極客學(xué)院:http://wiki.jikexueyuan.com/project/spring/annotation-based-configuration.html
一.Spring介紹
Spring是一個優(yōu)秀的開源的框架癌蓖,它是為了解決企業(yè)級開發(fā)的復(fù)雜度而誕生的,是一個容器婚肆。它是一種分層架構(gòu)的程序租副,使用者可以根據(jù)需要使用它每一個部分的組件。同時又能集成其他優(yōu)秀的開源框架较性。
1.在spring中把所有由spring管理的對象都叫bean
2.spring是非侵入型的不需要實現(xiàn)spring的接口和父類
3.通過配置文件提供依賴注入的功能附井,面向切面編程
4.spring是一個容器讨越,管理容器中各個組件的生命周期
5.一站式的框架两残。在ioc和aop的情況下整合其他第三方的框架永毅。
![Uploading Paste_Image_611356.png . . .]
二、IOC和DI
IOC:控制反轉(zhuǎn)人弓,容器自動向所管理的組件推送資源沼死,組件只需要選擇一個合適的資源接受
DI:依賴注入,組件以預(yù)定好的方式接收組件推送的資源崔赌,例如set方法意蛀。
三、配置Bean
1.首先創(chuàng)建IOC容器健芭。通常有兩種創(chuàng)建的方式
1.1ApplicationContext:開發(fā)者使用該方式县钥,基本所有的開發(fā)都通過該類實現(xiàn)容器實例
1.2BeanFactroy:底層使用
ApplicationContext的實現(xiàn)方式
四、依賴注入
XML顯示的配置:
1.屬性注入
** 1.1 在xml中的bean標(biāo)簽下使用property標(biāo)簽慈迈。**
注意指定的類一定要提供set方法若贮。property的那么屬性一定對應(yīng)set方法,除去"set"字段的名稱痒留。比如setName對應(yīng)Name谴麦。
1.2 bean之間的互相引用,使用ref參數(shù)表示伸头,注意ref的值只能是xml中已經(jīng)聲明的其他bean的id
1.3還可以使用內(nèi)部bean匾效,在property內(nèi)部嵌套一個
1.4 null屬性的專有標(biāo)記
<null/>
1.5 級聯(lián)屬性的賦值
spring支持給bean內(nèi)部的對象參數(shù)賦值,例如Person中有一個car屬性恤磷。注意使用級連屬性賦值前一定要保證對象被初始化面哼。
2.構(gòu)造方法注入
在xml中使用使用constructor-arg表示構(gòu)造器,value表示構(gòu)造器的參數(shù)扫步,index表示構(gòu)造器參數(shù)的順序魔策,type表示類型,如果string類型中含有特殊字符锌妻,可以使用下面的格式進(jìn)行包裹代乃。以便容器識別
<![CDATA[內(nèi)容]]>
*2.1 使用P命名空間注入
引入p命名空間
xmlns:p="http://www.springframework.org/schema/p"
在bean的標(biāo)簽中使用,idea會自動識別出bean中的參數(shù)
3.配置集合屬性
3.1給集合參數(shù)賦值仿粹,使用list+ref標(biāo)簽搁吓,注意ref引用的是在xml中配置過的bean。
3.2 Properties 屬性賦值
3.4將部分屬性抽離出來吭历,共其他bean引用
3.4.1需要引入新的命名空間,其中utils的名字自定義
xmlns:utils="http://www.springframework.org/schema/util"
在schemaLocation中添加util的解析環(huán)境
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd"
3.4.2 創(chuàng)建一個可以供引用的對象