視頻課程 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的實現方式
四、依賴注入
XML顯示的配置:
1.屬性注入
** 1.1 在xml中的bean標簽下使用property標簽。**
注意指定的類一定要提供set方法。property的那么屬性一定對應set方法,除去"set"字段的名稱。比如setName對應Name。
1.2 bean之間的互相引用,使用ref參數表示,注意ref的值只能是xml中已經聲明的其他bean的id
1.3還可以使用內部bean,在property內部嵌套一個
1.4 null屬性的專有標記
<null/>
1.5 級聯屬性的賦值
spring支持給bean內部的對象參數賦值,例如Person中有一個car屬性。注意使用級連屬性賦值前一定要保證對象被初始化。
2.構造方法注入
在xml中使用使用constructor-arg表示構造器,value表示構造器的參數,index表示構造器參數的順序,type表示類型,如果string類型中含有特殊字符,可以使用下面的格式進行包裹。以便容器識別
<![CDATA[內容]]>
*2.1 使用P命名空間注入
引入p命名空間
xmlns:p="http://www.springframework.org/schema/p"
在bean的標簽中使用,idea會自動識別出bean中的參數
3.配置集合屬性
3.1給集合參數賦值,使用list+ref標簽,注意ref引用的是在xml中配置過的bean。
3.2 Properties 屬性賦值
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 創建一個可以供引用的對象