0

我的项目中有 1 个 @Controller bean 和该控制器调用的 2 个 @Service bean。

使用 2 个不同的 @Repository bean 进行持久化的服务。

我的问题是:

我的服务器即将同时收到数百个调用,我上面描述的所有 bean 都是 scope="singleton",这不是“尴尬”吗?我应该改用“原型”吗?或者也许春天会自动?

4

2 回答 2

1

我认为在这两种情况下,您将拥有相同数量的对象。

bean 部署的非单例原型范围导致每次对特定 bean 发出请求时都会创建一个新的 bean 实例(也就是说,它被注入另一个 bean 或通过编程的 getBean() 方法请求调用容器)。根据经验,您应该对所有有状态的 bean 使用原型范围,而对无状态 bean 应该使用单例范围。

于 2013-05-17T09:56:00.590 回答
0

在 Spring 默认情况下,所有 bean 都是“单例”,并且在大多数情况下应该是。

于 2013-05-17T08:57:17.397 回答