springAOP和bean生命周期

文章目录
  1. 1. 从注解开始说
    1. 1.1. 从SpringBoot.run()说

Springboot是Spring的脚手架,提供的自动配置功能初始化spring的ioc容器,

BeanDefinition:可以理解为定义bean

bean的生命周期,大部分初始化和赋值在AbstractAutowireCapableBeanFactory.doCreateBean 下来定义的:

- 创建bean
- 赋值和变量
- 初始化bean 包括 BeanPostProcessor,initMethod等
- AOP相关的内容
- 被销毁

SpringApplicationContext:Spring的容器负责放置初始化好的bean

SpringFactoriesLoader 加载 spring.factories

从注解开始说

@enableSpringAutoConfig ->Configeration ->inportSelector-> AutoConfigurationImportSelector

@SpringBootConfig- mapperScan

@ComponentScan

autoConfigerationSelector.class 会解析 autoconfig包下面的bean.factory

从SpringBoot.run()说

image-20230104122503870

SpringApplication.run()入口

AbstractApplicationContext.refresh()创建了ApplicationContext容器后刷新

DefaultListableBeanFactory,deGetBean() ApplicationContext集成了 ListableBeanFactory

DefaultSingletonBeanRgistry.getSingleton() 获取单例的bean实例

AbstractAutowireCapableBeanFactory.createBean();创建对应的bean对应上面的Bean的生命周期

newInstance()

参考链接:聊透Spring bean的生命周期 - 掘金