1

我有一个有多种形式的网页。一个用于登录,另一个用于创建文章,另一个用于提交评论。现在,这些表单中的每一个都由不同的支持 bean 支持,例如:loggingBean、newCommentBean 等。当生命周期执行时,即使用户只提交了“新评论”表单,它是否会创建每个这些 bean 的实例?

4

2 回答 2

3

这完全取决于 bean 的范围。每个请求都会创建一次请求 bean,但您可能不应该担心创建 bean 的开销,它很小。您通常应该更关心 bean 停留时间过长(会话 bean 应该是请求 bean),这会不必要地耗尽内存。

于 2011-03-07T19:19:16.063 回答
2

这取决于您如何定义托管 bean的范围。

编辑还有 你可能会发现很好知道的渴望属性。@ManagedBean(eager = true)

要在应用程序启动并且在发出任何请求之前强制实例化应用程序范围的 bean 并将其放置在应用程序范围内,托管 bean 的 eager 属性应设置为 true。

于 2011-03-07T19:09:42.963 回答