为什么Spring控制器是REST实现的单例?

时间:2013-12-24 07:03:26

标签: spring

在Spring中实现REST的情况下,spring控制器是单例。我想知道为什么弹簧控制器除了线程安全问题外都是单例。请帮助解决这个问题。

1 个答案:

答案 0 :(得分:12)

这与REST无关。

默认情况下,Spring bean是singleton作用域。由于组件扫描@Controller带注释的类只是生成一个bean,该bean将是单例作用域。

由于@Controller bean应该是无状态的原因,请阅读以下任何内容:

为了跟进REST问题,REST意味着无状态。换句话说,每个请求都包含服务器处理它所需的所有信息。知道这一点,对于服务器来说是没有意义的(或者@Controller)在实例字段等处理完请求之后保留任何信息。因此,单身是可行的。< / p>