本版本增加对于Bean实例化之后和Bean销毁之前一些功能。希望zhichi@PostConstruct和@PreDestroy注解的支持。
- 修改
BeanDefinition
,增加initMethod
和destroyMethod
字段 - 增加InitializingBean
接口,抽象出
afterPropertiesSet`函数 DefaultInitialingBean
实现InitializingBean
接口,增加对于@PostConstrct
、initMethod
和实现InitializingBean
接口的Bean
的处理- 增加
DisposableBean
接口,抽象出destroy
函数 DefaultDisposableBean
实现DisposableBean
接口,增加对于@Predestroy
、destroyMethod
和实现DisposableBean
接口Bean
的处理- 在
createBean
的之后调用InitializingBean.afterPropertiesSet
- 在初始化
ApplicationContext
的时候,增加一个ShutDown
的hook
去调用DefaultDisposableBean.destroy