0

我从 Spring 容器中得到一个 bean 说

MyClass obj1 = Context.getBean("obj1");

使用 obj1 后,我确信我的应用程序的其余部分将不再需要它。

那么有没有办法让Spring容器销毁这个bean。至少向 Spring 容器提示不再需要它,并且我决定是否销毁它(类似于垃圾收集)?

4

2 回答 2

1

使“obj1”成为原型范围的 bean。然后 Spring 将在您每次请求时创建它的一个新实例(确保您对此感到满意),然后它将不再管理该实例,因此当您完成它并释放所有引用时,它可以被垃圾收集。原型范围就像new,只给你 Spring 配置的 bean。

于 2012-12-04T08:35:36.553 回答
0

我认为您不可能告诉 Spring 容器销毁该 bean。如果您注意到 Spring 框架创建的大多数这些 beanSingleton都应该在每次将其注入代码时为您提供相同的 bean 实例。单例本质上应该在应用程序的整个生命周期中都存在,因此它不能被破坏。

于 2012-12-04T07:11:47.497 回答