Java单例类与JSF应用程序范围内的托管bean - 差异?

时间:2012-03-10 23:32:26

标签: jsf singleton managed-bean

使用单例类和应用程序范围的托管bean来保存应用程序数据是否存在差异?

我需要查找某些JNDI资源,例如远程bean接口,因此我自己写了一个单例来缓存我的引用,只允许单引用。 (服务定位)

我在两个不同的浏览器中打开了我的网站,而且这个单例只被初始化了一次。所以我假设它的应用范围?

应用程序范围托管bean的任何其他好处,然后能够访问其在jsf?

中的属性

1 个答案:

答案 0 :(得分:4)

单身人士不是单元可测试的,也不是可抽象的,也不是可扩展的。如果你的唯一目的是拥有应用程序作用域数据,那么单身人士在可靠地创建和维护方面也是不必要的复杂(至少,如果你因为某些原因真的想要一个完整的单身人士 - 大多数初学者都不会完全理解单身人士应该是什么样的人。

“只创建一个”就像应用程序作用域的托管bean一样,开发,测试和维护起来要简单得多。作为框架的JSF将保证在Web应用程序的生命周期中只创建和重用一个实例。

另见: