Spring、容器与bean

Spring

Spring是一个可以开发应用的平台框架,集成了很多的模块,包括:

  1. Spring core
  2. Spring Aop
  3. Spring Aspect
  4. Spring ORM
  5. Spring JDBC
  6. Spring JMS
  7. Spring Web

容器

  Spring的容器是其核心理念,主要是对容器中对象进行创建、链接并管理对象的生命周期。这些对象也称为bean。Spring容器可以通过配置元数据的信息了解到需要实例化哪些bean,并对其进行管理。配置元数据信息可以通过xml文件,注解等方式表示。

  Spring提供了BeanFactory和ApplicationContext两种容器。

  1. BeanFactory仅有基本的DI功能,配置管理bean。
  2. ApplicationContext继承了BeanFactory,实现了AOP以及其他面向企业的功能,如果消息国际化等。

bean

bean是一个对象,可以通过元信息由容器创建管理。bean的生命周期包括bean的初始化以及销毁。
初始化过程如下:

  1. 容器寻找bean的信息,并实例化bean。
  2. 装配bean的属性
  3. 如果bean实现了BeanNameAware 接口,则工厂调用setBeanName方法,将bean的id传入。
  4. 如果bean实现了BeanFactoryAware 接口,则工厂调用setBeanFactory,将工厂本身传入
  5. 如果关联了BeanPostProcessor ,则调用postProcessorBeforeInitialization()方法
  6. 如果指定了ini-method,则调用他
  7. 如果关联了BeanPostProcessor,则调用postProcessorAfterInitialization()方法

消除方法

  1. 如果bean实现了DisposableBean接口,则执行destory方法
  2. 如果指定了destory方法,就执行他。

参考文章:
Spring学习笔记二: Bean装配及生命周期
Spring、容器与bean