Spring MVC应用程序是否可以多线程,即使它的servlet不是? [英] Can a Spring MVC app be multithreaded even if its servlets are not?
问题描述
当你谈到一个多线程的Spring应用程序时,你是否一定是指那个应用程序中定义的servlet是多线程的?
When you talk about a Spring app being multithreaded, are you necessarily referring to whether the servlets that are defined in that app are multithreaded?
或者Spring应用程序是否可以即使应用程序中的servlet不是多线程的,也可以配置为多线程?
Or can a Spring app be configured to be multithreaded even if the servlets in the app are not multithreaded?
推荐答案
不再支持单线程servlet。它们已被弃用了很长时间,因此所有servlet都是多线程的。
Single-threaded servlets are no longer supported. They have been deprecated for a long time, so all servlets are multithreaded.
然后,spring不使用servlet(除了一个 - 调度程序)。它使用bean,可以是控制器,服务和存储库(daos)。
Then, spring does not use servlets (apart from one - the dispatcher). It uses beans, which can be controllers, services and repositories (daos).
这些bean是线程安全的(我认为你的意思是多线程)如果它们不要在他们的字段中保存任何数据(除了他们的依赖项)
These beans are thread-safe (what I suppose you mean by "multithreaded") if they don't hold any data in their fields (apart from their dependencies)
简而言之 - 不要在你的spring bean中存储任何数据。将所有必需的数据作为参数传递。
In short - don't store any data in your spring beans. Pass all required data as parameters.
这篇关于Spring MVC应用程序是否可以多线程,即使它的servlet不是?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!