spring的IoC容器的执行流程

关键字: spring的ioc容器的执行流程
  1. 应用程序的启动 main()
  1. 创建IoC容器的代表
  2. 解析xml文件(可以为任意的名字,spring默认推荐为applicationContext.xml)
  • 通过BeanFactoryPostProcessor来修改bean
  • 初始化所有的singleten bean
    • constructor注入
    • setter注入
    • BeanPostProcessor  befor方法
    • init-method
    • BeanPostProcessor  after方法
    • 返回bean实例
  • 返回BeanFactory实例
  1. 获取bean实例,getBean(".......");

    • 如果是BeanFactory直接实现类或者非singleten bean或者lazy-init="true"都在做getBean的时候才初始化
  2. 实际的业务逻辑……
  1. 销毁
  2. 如果是XmlBeanFactory时用destroysingletens()来销毁   是延迟加载
  • 如果是AbstractApplicationContext时用close();来销毁    不延迟加载    配置destroy-method
  1. 结束应用程序

你可能感兴趣的:(Spring)