我想知道ApplicationContext何时会调用在原型范围的bean上使用@PreDestroy注释的方法?
a)每次bean实例无法访问(例如,为GC准备好) b)当ApplicationContext关闭时(例如调用close(),stop(),destroy())
答案 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