Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring框架MVC“;并发性;?_Spring_Spring Mvc_Concurrency - Fatal编程技术网

Spring框架MVC“;并发性;?

Spring框架MVC“;并发性;?,spring,spring-mvc,concurrency,Spring,Spring Mvc,Concurrency,AFAIK、Springbeans(版本3及以上),如果没有指定,所有都是单例。因此,我关心的是,例如,当使用@Repository(在访问数据库资源的类中)或@Service(在执行验证和业务逻辑的类中)时,如果并发访问,应用程序中的所有用户都可以使用这些对象 提前感谢…是的,这些对象将被并发访问。因此,它们必须以线程安全的方式进行编码。但这很简单,因为它们通常是无状态的,除了它们的依赖项是在Spring启动时注入的。那么,它们就不是“单例”了?我的意思是,我只是希望它们不是,因为在多用户应用

AFAIK、Springbeans(版本3及以上),如果没有指定,所有都是单例。因此,我关心的是,例如,当使用
@Repository
(在访问数据库资源的类中)或
@Service
(在执行验证和业务逻辑的类中)时,如果并发访问,应用程序中的所有用户都可以使用这些对象


提前感谢…

是的,这些对象将被并发访问。因此,它们必须以线程安全的方式进行编码。但这很简单,因为它们通常是无状态的,除了它们的依赖项是在Spring启动时注入的。

那么,它们就不是“单例”了?我的意思是,我只是希望它们不是,因为在多用户应用程序中,这些类将为每个不同的用户操作不同的值,所以它们将是单例是没有意义的。但是,正如我之前所说的,例如,用
@Repository
@Service
注释一个类,默认情况下使它们成为单例…因此这是我主要关心的问题:如果每次调用它们,我将有一个不同的实例…或者相同的实例?默认情况下它们将是单例。所以每次都会得到一个实例。但这并不重要,因为它们不访问任何共享状态。存储库执行数据库查询并将数据返回给服务。服务使用这些数据并将其返回到层。所有内容都是局部变量,因此您可以让同一个单例同时处理多个客户端请求。您能对这个问题给出评论吗?