SpringBoot中常用类执行顺序

步骤

  1. bean注册:BeanDefinitionRegistryPostProcessor
    对Bean定义的注册过程进行干预和定制,主要用于在bean定义之前修改、删除处理。

  2. bean定义扩展:BeanFactoryPostProcessor
    对已经实例化的bean进行再次处理和修改,返回新定义的对象。

  3. 构造器注入:有参构造器/无参构造器

  4. @Value、@Autowired注入属性:AutowiredAnnotationBeanPostProcessor

  5. 属性填充:根据名称注入/类型注入 - popluateBean方法

  6. bean初始化前:BeanPostProcessor.postProcessBeforeInitialization

  7. @PostConstruct:留给使用者后门执行,但是需要确保所有的依赖都已经注入。

  8. InitializingBean.afterPropertiesSet方法:我们自定义的类A实现InitializingBean接口,需要实现afterPropertiesSet方法,会注入我们自定义的类A,然后执行afterPropertiesSet方法。

  9. init-method:invokeInitMethods方法

  10. bean初始化后:BeanPostProcessor.postProcessAfterInitialization

posted @ 2023-09-11 23:18  sunpeiyu  阅读(109)  评论(0编辑  收藏  举报