Spring3.0.5

晨曦之光 发布于 2012/04/10 18:48
阅读 797
收藏 0

解读下一代网络:算力网络正从理想照进现实!>>>

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)


原文链接:http://blog.csdn.net/chengchanglun/article/details/7440974
加载中
返回顶部
顶部