【问题标题】:spring controller as session scoped beanspring 控制器作为会话范围的 bean
【发布时间】:2012-08-01 20:29:28
【问题描述】:
@Controller
@Scope("session")
public class SomeController {

        private CoreDataService coreDataService;
        private final Logger logger = LoggerFactory.getLogger(SomeController.class);
        private SomeBusinessObject bo;
        private long activityId;
... 
}

有人认为将 Spring Controler 作为会话范围的 bean 有什么问题吗? 所以我不相信这种方法,但我无法证明为什么我们不应该这样做。请指导我。

【问题讨论】:

    标签: spring-mvc


    【解决方案1】:

    查看之前的answer

    如果您想保存实例变量,您可以为控制器使用会话范围。如果确实有代码中显示的变量,则需要确保不要使控制器成为单例。这是因为单例是由多个线程共享的。

    【讨论】:

      【解决方案2】:

      会话范围意味着您的 bean SomeController 将为每个会话创建实例。默认范围是 singleton,它只在 spring 容器中创建一个实例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-31
        • 2011-07-13
        • 1970-01-01
        • 1970-01-01
        • 2013-02-26
        • 2015-09-13
        相关资源
        最近更新 更多