欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Bean的初始化过程

程序员文章站 2022-05-21 23:05:16
...
1.创建容器。
2.反射调用构造器创建实体(此时该实体还不是bean)。
3.Spring会识别被配置成bean的信息,扫描注解的包。把实体对应的类信息封闭成一个BeanDefinition对象,会把这些BeanDefinition对象放入到一个Map中。会根据配置判断是否是单例,如果是单例,会放到单例池。再进行验证,最后进入依赖注入。
4.set方法。
5.(如果实现了BeanNameAware接口),就会调用setBeanName方法。
6.(如果实现了BeanFactoryAware接口),就会调用setBeanFactory方法。
7.(如果有后置处理器),就会执行postProcessBeforeInitialization方法。
8.(如果实现了InitializingBean接口),就会调用 afterPropertiesSet 方法。
9.(如果配置了init-method属性或者标记了@PostConscutor注解),就会执行其对应的方法。
10.(如果有后置处理器),执行后置处理器的postProcessAfterInitialization方法。
11.使用Bean。
12.(如果配置了destroy-method属性或者标记了@PreDestroy注解),就会执行其对应的方法。
13.(如果实现了Destroyable接口),就会调用destroy方法。(和12你死我活)
相关标签: spring java