Java单例类与JSF应用程序范围的托管bean
使用单例类和应用程序作用域管理bean来保存应用程序数据是否有区别?
我需要查找某些JNDI资源,例如远程bean接口,因此我自己写了一个单例来缓存我的引用,并且只允许单引用。 (服务定位)
我在两个不同的浏览器中打开了我的网站,该单身人士只进行了一次初始化。 所以我假设它的应用范围?
应用程序作用域管理bean的任何其他好处,然后能够在jsf中访问其属性?
单身不是单元测试的,也不是可抽象的也不可扩展的。 如果你的唯一目的是拥有应用程序范围的数据,单身人士也是不必要的复杂,以便可靠地创建和维护(至少,如果你因为某种原因真的需要一个完整的单身人士) - 大多数初学者甚至不会完全理解单身人士应该怎样成为)。
“只需创建一个”就像一个应用程序范围的托管bean,开发,测试和维护要简单得多。 作为框架的JSF将保证在Web应用程序的整个生命周期中只有一个实例将被创建和重用。
也可以看看:
上一篇: Java singleton class vs JSF application scoped managed bean