1. 程式人生 > >一:SpringIOC&DI

一:SpringIOC&DI

ssp 加載 context class per app 引用 prot single

一:spring
1.spring介紹
spring負責管理項目中的所有對象,看作是項目中對象的管家.
spring一站式框架:

    spring框架性質是屬於容器性質的
    容器中裝什麽對象就有什麽功能,所以可以一站式
    不僅不排斥其它框架,還能幫其它框架管理對象
    ioc思想
    aop支持
    aop事務
    junit測試支持

2.spring導包

4個核心包(beans,core,context,spEL)
2個aop包(aop,aspects)
2個日誌包(log4j)
2個依賴包(aop聯盟,weaving織入)
1個web包(web)

3.spring概念

ioc:inverse or control 控制反轉

    對象的創建及依賴關系可以由spring完成創建以及註入
    控制反轉就是反轉了對象的創建方式,從自己創建反轉給了程序(spring)

di:dependency injection 依賴註入

    實現ioc思想需要di做支持
    註入方式:
        set方法註入
        構造方法註入
    註入類型:
        值類型註入   8大基本數據類型
        引用類型註入  將依賴對象註入

applicationContext&BeanFactory

    BeanFactory接口
        spring原始接口.針對原始接口的實現類功能較為單一
        BeanFactory接口實現類的容器.特點是每次在獲得對象時才會創建對象
    ApplicationContext
        每次容器啟動時就會創建容器中配置的所有對象.並提供更多功能
        從類路徑下加載配置文件:ClassPathXmlApplicationContext
    結論:web開發中,使用applicationContext. 在資源匱乏的環境可以使用BeanFactory.

4.spring配置詳解
bean元素

    id:給Bean起個名字    不能重復,不能使用特殊字符.早期屬性.
    name:給Bean起個名字  能重復,能使用特殊字符.後來屬性.
    class:類的完整類名

生命周期屬性

    init-method 指出初始化方法
    destory-method  指出銷毀方法

作用範圍

    scope: 
        singleton(默認值):單例.創建容器時會立即創建單例對象
        prototype :多例.每次獲得對象時,才會創建對象,並且每次都會創建新的對象

分模塊開發

    <import  />

5.bean的創建方式

*** 空參構造創建
靜態工廠
實例工廠

6.註入方式

*** set方法
*** 構造方法

7.復雜屬性註入

Array
List
Map
Properties

一:SpringIOC&DI