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

源码解析:init-method、@PostConstruct、afterPropertiesSet孰先孰后

程序员文章站 2022-07-12 18:31:06
...

Spring 容器中的 Bean 是有生命周期的spring 允许在 Bean 在初始化完成后以及Bean 销毁前执行特定的操作,常用的设定方式有以下三种:

  • 通过实现InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;
  • 通过<bean> 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法;
  • 在指定方法上加上@PostConstruct或@PreDestroy注解来制定该方法是在初始化之后还是销毁之前调用。 

这是我们就有个疑问,这三种方式是完全等同的吗,孰先孰后?

最后,给出本文的结论,Bean在实例化的过程中:

Constructor > @PostConstruct >InitializingBean > init-method

http://sexycoding.iteye.com/blog/1046993