1
@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 有什么问题吗?所以我不相信这种方法,但我无法证明为什么我们不应该这样做。请指导我。

4

2 回答 2

0

请参阅此先前的答案

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

于 2012-08-01T23:08:11.480 回答
0

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

于 2012-08-02T04:13:19.387 回答