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

wnavrhmk  于 2021-07-14  发布在  Java
关注(0)|答案(2)|浏览(391)

我实际上是一个ejb开发人员,对spring框架非常陌生。
我在概念上发现了一些冲突。就像@restcontroller默认使用的作用域是singleton。每个loc只有一个对象,因此必须管理繁忙的交通。
设计好吗?

6qqygrtg

6qqygrtg1#

当然,这是一个很好的设计,因为对象的同一个示例将被重用,而不是每次需要时都继续创建它。这就是设计模式的全部要点。这里有一个很好的例子,辛格尔顿来拯救。
https://rules.sonarsource.com/java/rspec-2119
默认情况下,spring将负责创建和销毁所有单例bean,而原型必须手动处理。因此,在很多情况下,原型的作用域是由开发人员定制的bean。
在springmvc控制器层,@scope(“prototype”)与@scope(“singleton”)的比较

5vf7fwbs

5vf7fwbs2#

设计好吗?
是的,spring中的所有bean都是单例(默认情况下)。
我们有100多个控制器在几个应用程序,它的工作非常完美。
如果确实需要多次示例化控制器,那么当然可以考虑其他bean范围(请参阅此处范围的简要说明)https://www.baeldung.com/spring-bean-scopes)

相关问题