9

我想知道 ApplicationContext 何时会在原型范围的 bean 上调用带有 @PreDestroy 注释的方法?

a) 每次 bean 实例变得无法访问时(例如,准备好进行 GC) b) 当 ApplicationContext 关闭时(例如,调用 close()、stop()、destroy())

4

1 回答 1

15

与其他作用域不同,一旦 Spring 实例化并配置原型 bean, Spring 容器将不会调用@PreDestroy,其余部分完全取决于持有原型 bean 的客户端,此时 Spring 不会跟踪 bean - http://static.springsource .org/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-factory-scopes-prototype

于 2012-09-06T01:09:40.073 回答