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

全部评论

相关推荐

11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
我即大橘:耐泡王
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务