首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过创建多个ApplicationContexts来使用Spring来管理bean生命周期-这样可以吗?

通过创建多个ApplicationContexts来使用Spring来管理bean生命周期-这样可以吗?
EN

Stack Overflow用户
提问于 2009-07-16 10:04:33
回答 1查看 435关注 0票数 0

我以前用过Spring,但我不是专家,以前只用它做过标准的web开发。

目前,我正在从事一个项目,在这个项目中,Spring的使用方式非常不同。这是一个独立的Swing应用程序,有许多显示,用户可以通过工具栏在显示之间切换。当显示发生变化时,所有组件都需要销毁(垃圾收集)。

目前,这是通过将单独的ApplicationContexts与每个显示器相关联来实现的。因此,当显示更改时,想法是与显示关联的AppCtx被销毁,然后创建一个新的应用程序上下文(从不同的XML文件),以便在新显示中加载组件。

这是使用Spring的合适方式吗?我对Spring Container的内部结构和容器管理bean的方式了解不多,所以我不知道这是不是一件好事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-07-16 10:20:26

在我看来,你应该使用custom scope

从Spring2.0开始,Spring2.0中的bean作用域机制是可扩展的。这意味着您不仅限于Spring提供的开箱即用的bean作用域;您可以定义自己的作用域,甚至可以重新定义现有作用域(尽管最后一种可能被认为是不好的做法-请注意,您不能覆盖内置的单例和原型作用域)。

您的方法的问题主要是性能,因为您将在每次屏幕更改时解析/配置/定义/实例化spring bean。我建议您使用screen的自定义作用域(比方说),它为每个作用域返回单独的对象。

有关实现的详细信息,请参阅Scope javadoc

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1136607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档