跳至主要內容

初始化及销毁bean

chanchaw大约 1 分钟javaspring

初始化

@PostConstruct

该注解用于方法头上,在容器实例化对象之后(调用构造方法之后)调用 init 方法之前执行 注意该注解在 java 9及以后的版本中被弃用了,同时被弃用的还有 @PreDestroy ,并预计在 Java11中将其删除!!! 如果仍想使用该注解看下面介绍:

初始化及销毁bean
初始化及销毁bean

实现接口 InitializingBean

实体类实现接口 InitializingBean 接口,会要求实现方法 afterPropertiesSet 方法 spring 在创建 bean 并设置属性后会调用该方法,其中可设置自定义的初始化逻辑

初始化及销毁bean01
初始化及销毁bean01

xml中的 init-method

在配置文件中使用该方法可达到类似上面的效果

<bean id="testInitializingBean" class="com.TestInitializingBean" 
  init-method="testInit"></bean> 

如果同时实现接口 InitializingBean 又在配置文件中使用了 init-method 则会先调用接口 InitializingBean 的方法 afterPropertiesSet 再调用 init-method 指向的方法

销毁

@PreDestroy

作用与方法头上,在销毁 bean 时会调用本方法。 上面已经介绍在 java9已经弃用该注解,并预计在 java11删除该注解,所以不要再使用本注解了

实现接口方法 DisposableBean.destroy()

@DisposableBean

和上面的 @PreDestroy 作用类似