Spring Bean的生命周期及Spring中用到的设计模式

  • Post author:
  • Post category:其他




Spring Bean的生命周期

Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。

Spring Bean的生命周期图示



Spring Bean的生命周期中各种方法分类

Bean的完整生命周期经历了各种方法调用,这些方法可以划分为以下几类:

1、Bean自身的方法:这个包括了Bean本身调用的方法和通过配置文件中的init-method和destroy-method指定的方法

2、Bean级生命周期接口方法:这个包括了BeanNameAware、BeanFactoryAware、InitializingBean和DiposableBean这些接口的方法

3、容器级生命周期接口方法:这个包括了InstantiationAwareBeanPostProcessor 和 BeanPostProcessor 这两个接口实现,一般称它们的实现类为“后处理器”。

4、工厂后处理器接口方法:这个包括了AspectJWeavingEnabler, ConfigurationClassPostProcessor, CustomAutowireConfigurer等等非常有用的工厂后处理器  接口的方法。工厂后处理器也是容器级的。在应用上下文装配配置文件之后立即调用。



Spring中用到的设计模式

Spring框架中用到了很多的设计模式,总结如下:

1)工厂模式:Spring通过工厂模式BeanFactory,ApplicationContext创建Bean对象。

2)代理设计模式:SpringAOP的实现,底层使用了动态代理模式。

3)单例模式:Spring中的Bean默认都是单例的。

4)模板方法模式:Spring中jdbcTemplate,hibernateTemplate等以Template结尾的类都用到了模板模式。

5)装饰模式:我们的项目需要连接多个数据库,而不同的客户在访问时可能会访问不同的数据库,这种模式可以让我们根据用户的需求动态的切换数据库。

6)观察者模式:Spring的事件驱动是观察者模式的应用。

7)适配器模式:SpringAOP的增强功能使用到了适配器模式。



版权声明:本文为weixin_52555259原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。