Spring3.0.5

 

1.      ApplicationContext ac = newClassPathXmlApplicationContext(“applicationContext.xml”);

ApplicationContext 是Spring的核心,是一個巨大的工廠,他來創建實例化。

2.      Inversion of Control(IoC)

a)        各組件面向接口編程,把耦合度提高到接口的層次,提高可擴展性

b)        各組件不是由程序產生,而是由Spring來產生,並初始化

c)        Spring採用配置文件,Annotation來管理Bean的實現,依賴關係,根據配置文件,利用反射機制來創建實例,在其setter注入依賴關係。

3.      BeanFactory是ApplicationContext的實例,一般情況下是用ApplicationContext而在一些內存非常關鍵的時候才用BeanFactory.

4.      ApplicationContext事件機制

a)        ApplicationEvent容器事件

b)        ApplicationListener監聽器

c)        Spring事件模式就是標準的觀察者模式

5.      指定屬性標識符

a)        Id 唯一標識

b)        name 名字

c)        alias 別名

6.      容器中的作用域

a)        Singleton:單例模式

b)        Prototype:原型模式

c)        Request:對每一次的http請求有效

d)        Session:對每一次HTTPSession產生一個新實例

e)        Global session :全局

7.      Spring對Bean的要求

a)        儘量用無參構成函數

b)        構成注入的時候要提供對應的構造函數

c)        設值注入對應提供setter方法

d)        與傳統的JavaBean的區別

                        i.             JavaBean多作爲參數傳遞要求提供setter,getter;SpringBean 只接受設值注入的setter

                      ii.             任何組件都可以稱爲Bean

                     iii.             生命週期,JavaBean作爲參數傳遞不受任何容器的管理,Spring Bean有生命週期

8.      Spring Annotation

a)        @Configuration 修飾一個Java配置類

b)        @Bean 修飾一個方法

c)        @Value修飾一個字段(Field)

d)        @import導入其他Java配置類

e)        @Scope 修飾一個方法,指定該方法對應的Bean生命週期

f)         @Lazy 修飾一個方法,指定該方法對應的Bean是否需要延遲加載

g)        @dependOn 修飾一個方法,指定初始化該方法對應的Bean之前初始化指定的Bean

h)        @ImportResource(“classpath:/beans.xml”)以Annotation爲主時候加載XML

i)          <context:annotation-config/>Xml爲主的時候加載Annotation

9.      創建Bean

a)        使用static 靜態工廠創建Bean

                        i.             使用class元素確定靜態工廠類

                      ii.              

b)        使用實例工廠方法創建Bean

                        i.             使用factory-bean屬性確定Bean

c)        相同處:

                        i.             都使用factory-method 屬性指定Bean實例工廠模式

                      ii.             <constructor-arg  value=””>指定工廠方法需要參數

                     iii.             使用<property name=”” value=””>指定屬性的參數值

10.   容器中的工廠Bean        (FactoryBean)  

a)    T getObject()實現該方法返回Bean生成的Java實例

         b)      Class<?> getObjectType()返回java實現類

         c)      boolean isSingleton()是否是單例

11.   Bean的生命週期

         a)      singleton.管理Bean的init和destory

         b)      prototype.完全交給客戶端

         c)      init-method和destory-method來指定(回收資源)close()關閉

         d)      當在singleton中應用prototype時

                   i.在其添加一個抽象方法abstract

                   ii.<lookup-methodname=”” bean=”prototype.id”>             

12.   XMLSchema 的使用

         IoC(Inversionof Control)

        

        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章