Atu*_*tul 46 java spring spring-mvc
我对Spring 3 MVC有疑问 @Controllers.当请求进来时,容器是否为每个请求创建一个新的控制器实例(类似于Struts 2中的Action - ThreadLocal ActionContext)或单个实例响应所有请求?默认情况下,上下文中的控制器bean单例?
Spring 3 MVC应用程序的准则/最佳实践是什么?这些设置是否可配置?应该配置?如果我的环境是一个集群环境,它会有多大变化 - 我想它不应该因为jvm /容器会有所不同 - 但是一些权威的建议会受到欢迎.
我读过Spring文档,但可能我错过了它.任何'这就是我们如何实现'答案/指针/链接将是有用的谢谢.
Tom*_*icz 51
Spring控制器是单例(每个Web应用程序只有一个控制器实例)就像servlet一样.通常,改变这种行为是没有意义的(如果可能的话).有关常见陷阱,请参阅关于servlet的线程安全性,也适用于控制器.
如果您的应用程序是群集的,请尽可能多地避免状态.控制器中的状态将需要同步以避免线程问题.此外,您可能会跨服务器复制该状态 - 非常昂贵且麻烦.