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) TgetObject()实现该方法返回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)

你可能感兴趣的:(Spring3)