zoukankan      html  css  js  c++  java
  • Spring容器管理Bean的生命周期

    我们可以自定义初始化和销毁方法,容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法。

    生命周期:bean创建---初始化---销毁

    构造(对象创建)

    单实例:在容器启动的时候创建对象

    多实例:在每次获取bean的时候创建对象

    初始化

    对象创建完成,并赋值好,调用初始化方法。

    销毁

    单实例:容器关闭的时候

    多实例:容器不会管理这个bean,容器不会调用销毁方法。

     

    1)指定初始化和销毁的方法:

    通过@Bean指定init-methord和destory-methord;

    2)通过让Bean实现InitializingBean(定义初始化逻辑),DisposableBean(定义销毁逻辑)

    3)可以使用JSR250;

    @PostConstruct : 在bean创建完成并且属性赋值完成,来执行初始化方法

    @PreDestory : 在容器销毁bean之前通知我们进行清理工作

    4)BeanPostProcessor 是bean的后置处理器,BeanPostProcessor 是一个接口,其中有俩方法postProcessBeforeInitialization和postProcessAfterInitialization,这俩方法是在Spring容器中的bean初始化前后执行,所以Spring容器中的每个bean对象初始化前后,都会执行BeanPostProcessor接口的实现类中的这俩方法。

     

    在bean初始化前后进行一些处理工作:

    postProcessBeforeInitialization: 在bean初始化前工作,这个方法会在bean实例化和属性设置之后,自定义初始化方法之前被调用。

    postProcessAfterInitialization : 在bean初始化后工作,这个方法自定义初始化方法之后被调用。

    BeanPostProcessor 作用:

    后置处理器BeanPostProcessor 可用于bean对象初始化前后进行逻辑增强。Spring提供了BeanPostProcessor 接口的很多实现类,如AutowiredAnnotationBeanProcessor用于@Autowired 注解的实现,AnnotationAwareAspectJProxyCreator用于Spring AOP的动态代理等等。

  • 相关阅读:
    html5+plus(5+app) 扫一扫(plus.barcode)
    uniapp地图控件(浅显使用)
    sku排列算法,库存类展示(规格,型号,颜色等)
    『嗨威说』数据结构中常用的查找算法思路总结
    『ACM C++』 PTA 天梯赛练习集L1 | 057-063
    『ACM C++』 PTA 天梯赛练习集L1 | 054-056
    『ACM C++』 PTA 天梯赛练习集L1 | 052-053
    『ACM C++』 PTA 天梯赛练习集L1 | 050-51
    『ACM C++』 PTA 天梯赛练习集L1 | 048-49
    『ACM C++』 PTA 天梯赛练习集L1 | 046-47
  • 原文地址:https://www.cnblogs.com/cathyqq/p/14321806.html
Copyright © 2011-2022 走看看