博学谷 > 资讯 > Java > 如何管理Spring Bean的生命周期?具体步骤解析

原创 如何管理Spring Bean的生命周期?具体步骤解析

发布时间:2020-01-14 10:43:38 浏览 280 来源:博学谷 作者:照照

    如何管理Spring Bean的生命周期?回答这个问题之前,我们可以先来看看Bean的定义,Bean是一个被实例化,组装,并通过Spring IOC容器所管理的对象。换句话说,那些组成应用程序的主体以及由Spring IOC容器所管理的对象就是bean。另外,在Spring中bean默认都是单例的。想要管理Spring Bean的生命周期,大概要按照以下步骤去做:

     

    Spring Bean的生命周期

     

    步骤1:实例化一个Bean,也就是我们通常说的new;
      

    步骤2:按照Spring上下文对实例化的Bean进行配置,也就是IOC注入;
      

    步骤3:如果这个Bean实现了BeanNameAware接口,会调用它实现的setBeanName(String beanId)方法,此处传递的是Spring配置文件中Bean的ID;
      

    步骤4:如果这个Bean实现了BeanFactoryAware接口,会调用它实现的setBeanFactory(),传递的是Spring工厂本身(可以用这个方法获取到其他Bean);
      

    步骤5:如果这个Bean实现了ApplicationContextAware接口,会调用;setApplicationContext(ApplicationContext)方法,传入Spring上下文,该方式同样可以实现步骤4,但比4更好,以为ApplicationContext是BeanFactory的子接口,有更多的实现方法;
      

    步骤6:如果这个Bean关联了BeanPostProcessor接口,将会调用postProcessBeforeInitialization(Object obj, String s)方法,BeanPostProcessor经常被用作是Bean内容的更改,并且由于这个是在Bean初始化结束时调用After方法,也可用于内存或缓存技术;
      

    步骤7:如果这个Bean在Spring配置文件中配置了init-method属性会自动调用其配置的初始化方法;
      

    步骤8. 如果这个Bean关联了BeanPostProcessor接口,将会调用postAfterInitialization方法。需要注意:以上工作完成以后就可以用这个Bean了,那这个Bean是一个single的,所以一般情况下我们调用同一个ID的Bean会是在内容地址相同的实例;
      

    步骤9:当Bean不再需要时,会经过清理阶段,如果Bean实现了DisposableBean接口,会调用其实现的destroy方法;
      

    步骤10:最后,如果这个Bean的Spring配置中配置了destroy-method属性,会自动调用其配置的销毁方法。

     

    以上就是管理Spring Bean生命周期的十大步骤解析。相信大家看到这里,对于刚开始的问题已经有自己的答案了。关于Java的更多答疑解惑,敬请关注博学谷Java栏目的资讯更新。

上一篇:Java性能调优要注意什么?又有哪些方式? 下一篇:WEB开发中安全漏洞的分析和预防

相关推荐 更多

最新文章

扫描二维码,回复"Java"获取180G资料包