理解Spring的Bean的执行顺序

Spring的执行顺序
Step1.调用构造器,创建实例对象
Step2.调用setter,为属性注入
Step3.若实现了BeanNameAware接口,则会执行方法setBeanName(String beanId),使用Bean类获取其在容器中的Id的名称.
Step4.若实现了BeanFactoryAware接口,则执行了接口的方法setBeanFactory(BeanFactory factory),使Bean类可以获取BeanFactory对象.
Step5.若定义注册了Bean的后置处理器BeanPostProcessor,则执行接口方法postProcessBeforeInitialization() 初始化的前置处理器.
Step6.若实现了InitializingBean接口,则执行接口方法afterPropertiesSet(),该方法在Bean的所有属性的set方法执行完毕后执行,是Bean初始化结束的标志,即Bean实例化结束
Step7.若在Spring的xml配置文件中ApplicationContext中配置了init-Method方法,则会执行
Step8.若定义了并注册了Bean后置处理器BeanPostProcess,则会执行接口中的postProcessAfterInitialization()方法
Step9.这时候表示一个Bean的初始化完毕全部属性都赋值,这时候会执行我们的自己接口中的方法.
Step10.实现了接口DisposableBean会调用接口中destroy()的方法的会销毁此Bean之前
Step11.若在Spring的Xml配置文件中ApplicationContext中配置了destory-Method,最后会销毁Bean 此时需要用到ApplicationContext的接口的实现类中的close()方法,请注意close()方法没有在ApplicationContext中定义 而是在自己的类中定义的方法 需要用到applicationContext的实现类中自己定义的方法,这个时候才Bean才会销毁需要手动关闭

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值