spring生命周期

图片说明

1.实例化bean

  • BeanFactory容器
    当请求bean时才去初始化,调用createBean方法

  • applicationContext容器
    容器启动完后则从beanDefinition获取对象信息,实例化所有的bean

2.依赖注入

实例化的对象放在BeanWrapper,然后spring会根据beanDefinition对象信息及wrapper提供的接口完成依赖注入

3.检查Aware

spring会检查该对象是否实现了Aware接口,并将响应的Aware实例注入Bean

  • 如果这个Bean实现了BeanNameAware接口
    则调用它实现的setBeanName(String beanId),为spring配置文件bean的id值
  • 如果这个Bean实现了BeanFactoryAware接口
    则调用它实现的setBeanFactory(),传递的是spring工厂本身
  • 如果这个Bean实现了ApplicationContextAware接口
    则调用setApplicationContext(ApplicationContext),传入spring上下文

以下我都不懂!!!

4.BeanPostProcessor前置处理

如果想对bean做自定义处理,则可以实现BeanPostProcessor,调用postProcessBeforeInitialization(Object obj, String s)方法

5.InitializingBean与init-method

如果bean在spring配置文件中设置了init-method属性,则会自动调用其配置的初始化方法

6.BeanPostProcessor后置处理

如果想对bean做自定义处理,则可以实现BeanPostProcessor,调用postProcessAfterInitialization(Object obj, String s)方法

** 到此Bean就已经被正确创建了,可以调用了**

7.1 DisposableBean

如果Bean不需要用的话就需要清理,当Bean有实现DisposableBean接口,就会自动调用实现的destory()方法

7.2 destroy-method

如果这个Bean的spring配置中配置了destory-method,则会自动调用其配置的摧毁方法


https://blog.csdn.net/a745233700/article/details/80959716

全部评论

相关推荐

字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务