像servlet一样,Spring控制器是单例的(每个Web应用程序每个控制器只有一个实例)。通常,更改此行为没有任何意义(如果可能的话)。有关常见陷阱,请参阅关于servlet的线程安全性,这也适用于控制器。
如果你的应用程序是集群的,则应尽可能避免状态。控制器中的状态将需要同步以避免线程问题。另外,你可能会在服务器之间复制该状态-非常昂贵且麻烦。
Spring MVC控制器是单例吗?
像servlet一样,Spring控制器是单例的(每个Web应用程序每个控制器只有一个实例)。通常,更改此行为没有任何意义(如果可能的话)。有关常见陷阱,请参阅关于servlet的线程安全性,这也适用于控制器。
如果你的应用程序是集群的,则应尽可能避免状态。控制器中的状态将需要同步以避免线程问题。另外,你可能会在服务器之间复制该状态-非常昂贵且麻烦。