Bean的生命周期(学习笔记)

Bean的生命周期(学习笔记),第1张

来自颜群老师的Spring进阶课程

总结:Bean的生命周期
  1. XML形式
    标签中配置init-method、destroy-method,两个均来自于实体类下的方法

  2. @Bean + 返回值形式
    直接在@Bean注解的属性中配置initMethod、destroyMethod两个属性即可,两个均来自于实体类下的方法

  3. 基于三层注解(JSR250规范)
    使用JSR250规范提供的两个注解:@PostConstruct、@PreDestroy
    依次使用在初始化和销毁方法上

  4. 基于三层注解(实现两接口)
    通过实现InitializingBean,DisposableBean两个接口的形式,进行初始化、销毁

  5. 基于三层注解(实现Spring底层接口)
    实现Spring底层接口BeanPostProcessor,重写其中的两个方法进行初始化、销毁,
    其中还能对bean进行一些 *** 作。

生命周期

Bean的生命周期包括:创建、初始化、使用、销毁

XML形式的初始化与销毁
  • 在Bean的方法中自定义初始化与销毁函数

  • 在XML中加上属性:init-method和destroy-method
    名字要与Bean中声明的方法对应,且不加()

方法一:注解形式的初始化与销毁(针对@Bean + 返回值形式)
  • 在@Bean注解中配置initMethod、destroyMethod属性即可

  • 销毁方法的触发需要在Spring Context对象close()后才会触发

方法二:注解形式的初始化与销毁(针对三层注解形式)

方法一:使用Java JSR250规范提供的注解:@PostConstruct、@PreDestroy

  • 给类加上三层注解,区别于@Bean + 返回值形式

  • 给初始化和销毁方法分别加上@PostConstruct、@PreDestroy 注解

  • 测试

方法三:接口形式的初始化与销毁(基于三层注解)

需要实现接口:InitializingBean,DisposableBean

方法四:原生BeanPostProcessor接口的初始化与销毁(基于三层组件)

该接口偏Spring底层,一个接口中包含初始化与销毁两个方法,
其中在方法内部可以对Bean的内容进行 *** 作。

  • 初始化

  • 销毁

  • 结果
    由于在初始化时有意地将Student Bean进行了修改,所以在getBean()时获取到的是修改后的Bean

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/919958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存