什么时候在原型范围的bean上调用@Predestroy?

时间:2012-09-06 00:14:11

标签: spring

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

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

1 个答案:

答案 0 :(得分:13)

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