是否可以告诉spring的容器销毁特定的bean(原型)以节省内存?
我不想使用 ctx.close() 来看到这个 bean 被破坏,而是在运行时。
如果我理解正确,您想删除在运行时在 ctx 中定义的 bean,我会用它BeanDefinitionRegistry
来完成此操作,BeanDefinitionRegistry
它有一个 removeBean() 方法,它以 bean 名称作为参数。
BeanDefinitionRegistry factory =
(BeanDefinitionRegistry) applicationCtx.getAutowireCapableBeanFactory();
然后
((DefaultListableBeanFactory) beanFactory).destroySingleton("myBean");
编辑