我在Spring Web应用程序中使用原型作用域。在我的Web应用程序中,有多个用户。
a) How to work prototype scope in web application for multiple user.
和
b) How to work session scope in web application for multiple user.
我想关注
c) I want each user have separate instances, which spring scope is better to use for my web application.
答案 0 :(得分:2)
要选择适当的范围,请首先注意以下定义:
Singleton::此作用域仅为每个Spring IoC容器单个实例提供Bean定义。
原型:这为单个bean定义提供了范围,以便在每次需要时创建新实例而无需考虑 会话。容器也无法管理完整的生命周期 豆。它启动,配置和组装原型Bean,然后 然后将其交给客户。
请求:这为HTTP请求的bean定义提供了范围。
会话:这为HTTP会话提供了bean定义的范围。
全局会话::这为全局HTTP会话提供了bean定义的范围。
答案 1 :(得分:1)
a)Bean部署的非单一原型范围会在每次请求该特定Bean时(即,将其注入另一个Bean或通过一个Bean请求)创建一个新的Bean实例。容器上的程序化getBean()方法调用)
b)在会话范围内,Spring容器将在单个HTTP会话的生存期内创建一个bean的全新实例。
c)这取决于,如果您的bean具有来自已记录的用户详细信息会话的特定配置,则作用域将是正确的选择,如果您的bean将具有恒定的配置,那么您将选择单例作用域,原型作用域对于多线程处理很有用。因此,bean的范围取决于它的用途。我认为您没有提供足够的信息来帮助您选择应该选择的范围,但我希望我的技巧会有所帮助。