首页 > 其他分享 >Spring框架中bean的生命周期

Spring框架中bean的生命周期

时间:2022-08-20 22:11:59浏览次数:49  
标签:生命周期 Spring 接口 bean 调用 如果 方法

Spring框架中bean的生命周期

Spring对bean进行实例化;

Spring将值和bean的引用注入到bean对应的属性中;

如果bean实现了BeanNameAware接口,Spring将bean的ID传递给setBean-Name()方法;

如果bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()方法,将BeanFactory容器实例传入;

如果bean实现了ApplicationContextAware接口,Spring将调用setApplicationContext()方法,将bean所在的应用上下文的引用传入进来;

如果bean实现了BeanPostProcessor接口,Spring将调用它们的post-ProcessBeforeInitialization()方法;

如果bean实现了InitializingBean接口,Spring将调用它们的after-PropertiesSet()方法。类似地,如果bean使用initmethod声明了初始化方法,该方法也会被调用;

如果bean实现了BeanPostProcessor接口,Spring将调用它们的post-ProcessAfterInitialization()方法;

此时,bean已经准备就绪,可以被应用程序使用了,它们将一直驻留在应用上下文中,直到该应用上下文被销毁;

如果bean实现了DisposableBean接口,Spring将调用它的destroy()接口方法。同样,如果bean使用destroy-method声明了销毁方法,该方法也会被调用。

标签:生命周期,Spring,接口,bean,调用,如果,方法
From: https://www.cnblogs.com/chaos2022/p/16608892.html

相关文章

  • Spring MVC的主要组件和工作流程
    SpringMVC的主要组件(1)前端控制器DispatcherServlet(不需要程序员开发)作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet就减少了其它组件之间的耦合度。(2)处......
  • spring为什么不能只用一二级缓存来解决循环依赖?
    Springbean注入流程类实例化->属性注入->执行初始化方法->(如果有需要)生成代理对象->使用二级缓存存在的问题举例说明:A、B两个类相互依赖,初始化A的时候,第一步......
  • Spring之控制反转IoC与依赖注入DI讲解
    1.最终目录2.代码示例(1)BookDaoImpl.java与BookServiceImpl.javapackagecom.hung.dao.Impl;importcom.hung.dao.BookDao;importcom.hung.service.Impl.BookSe......
  • Spring体现的设计模式
    涉及到的模式工厂设计模式:Spring使用工厂模式通过BeanFactory、ApplicationContext创建bean对象。代理设计模式:SpringAOP功能的实现。单例设计模式:Sprin......
  • Spring Bean生命周期
    Bean的生命周期Bean容器找到配置文件中SpringBean的定义。Bean容器利用JavaReflectionAPI创建一个Bean的实例。如果涉及到一些属性值利用set()方法设置......
  • 【SpringBoot】定时任务
    SpringBoot实现定时任务SpringBoot创建定时任务,目前主要有以下三种实现方式:基于注解(@Scheduled):基于注解@Scheduled默认为单线程,开启多个任务时,任务的执行时机会受上......
  • spring注解之@Import注解的三种使用方式
    @目录1、@Import注解须知2、@Import的三种用法2.1、第一种用法:直接填class数组2.2、第二种用法:ImportSelector方式【重点】2.3、第三种用法:ImportBeanDefinitionRegistrar......
  • Spring Boot调用api patch接口
    SpringBoot调用apipatch接口示例:/***调用apipatch接口**@paramurl*@paramjsonObject*@returnjava.lang.String*@a......
  • Spring Boot调用api delete接口
     SpringBoot调用apidelete接口示例:/***调用apidelete接口**@paramurl*@authorli.zhm*@date2022/8/2014:07*@hist......
  • vue的生命周期
    一、Vue的生命周期一、Vue的生命周期流程图二、Vue生命周期的具体   生命周期描述beforeCreate 组件实例被创建之初created组件实例已经完成创建......