有人可以列出Request,Session和Global-Session范围bean的实际用例吗?在大多数项目中,我一直在使用单例和原型。我理解请求范围bean是根据请求和会话范围bean实例化的,bean会在会话启动时实例化。
请在实践方面赐教我。
答案 0 :(得分:2)
到目前为止,我们正在使用请求范围的bean 来获取仅在一个页面上有效的信息,例如搜索结果或订单确认。在重新加载页面之前,bean将一直有效。
会话范围bean 对于在会话关闭时(通过超时或注销)保持身份验证信息失效非常有用。您也可以存储您不想在每次请求时重新加载的其他用户信息。或者我们的另一个用例是在会话范围中存储会话范围,我们用它来保存请求之间的信息,但我们可以分配自定义超时和无效条件。
在请求需要存储在会话范围内之后,几乎所有需要可用的信息。我们使用的唯一例外是视图范围,它将页面视图中的信息存储在ajax请求后可用,例如在wizzards中。
单例范围意味着每个应用程序只存在一次信息,因此如果两个用户请求您的页面,他们将访问相同的信息。这对控制器很有用,因为它们不应该存储数据。
原型范围与使用new初始化对象相同,因为每次注入时都会创建它。我们现在根本不使用它。