Spring 为什么@RestController默认使用单例作用域?

Spring 为什么@RestController默认使用单例作用域?,spring,spring-mvc,ejb,Spring,Spring Mvc,Ejb,我实际上是一名EJB开发人员,对spring框架非常陌生 我在概念上发现了一些冲突。喜欢 @RestController默认使用的作用域是singleton。通过每个loc的单个对象,必须管理繁忙的交通 这是一个好的设计吗?当然,这是一个好的设计,因为对象的同一个实例将被重用,而不是每次需要时都继续创建它。这就是设计模式的全部要点。 这里有一个很好的例子,单身汉来解围 默认情况下,spring将负责所有单例bean的创建和销毁,而原型必须手动处理。因此,在很多情况下,原型范围是由开发人员定制的

我实际上是一名EJB开发人员,对spring框架非常陌生

我在概念上发现了一些冲突。喜欢 @RestController默认使用的作用域是singleton。通过每个loc的单个对象,必须管理繁忙的交通


这是一个好的设计吗?

当然,这是一个好的设计,因为对象的同一个实例将被重用,而不是每次需要时都继续创建它。这就是设计模式的全部要点。 这里有一个很好的例子,单身汉来解围

默认情况下,spring将负责所有单例bean的创建和销毁,而原型必须手动处理。因此,在很多情况下,原型范围是由开发人员定制的bean

这个设计好吗

是的,Spring中的所有bean都是单例(默认情况下)

我们在多个应用程序中有100多个控制器,它工作得非常完美


如果你真的需要一次一次实例化控制器,你当然可以考虑其他bean范围(参见这里的作用域的简要解释)

为什么不。单个实例完全能够处理大量请求。需要注意的一件事是不要将状态存储在一个单实例中,除此之外,它工作得很好。对于并发请求,单个实例将如何执行?它将执行得非常好。该对象是否由1个或100个线程使用并不重要。