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

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐