gpt4 book ai didi

jsf-2 - 如果我编写 @managed bean 注释并在 faces-config.xml 中定义相同的,是否会有两个 bean 实例

转载 作者:行者123 更新时间:2023-12-02 22:27:29 25 4
gpt4 key购买 nike

在我的应用程序中的某些地方,我们对 Person bean 和我们同时在 faces-confing.xml 中定义的同一个 Person bean 使用 @ManagedBean annoation,如下所示。

@ManagedBean("name=person")
@SessionScoped
Public class Person{


}

faces-config.xml

<managed-bean>
<managed-bean-name>person</managed-bean-name>
<managed-bean-class>com.test.sample.Person</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>

我的问题是这种方法是否为 Person bean 创建了两个实例,或者我这样做是否重要?如果我对我的应用程序中的每个 Bean 都这样做,这会对我的应用程序的性能有任何影响吗?

最佳答案

为这种情况定义了优先级。 @ManagedBean注释避免必须在 faces-config.xml 中配置条目但是,如果两者都有,<managed-bean>条目覆盖注释。

在您的情况下,只有一个实例配置类似于您的 faces-config.xml入口。在您的情况下,两种方法的配置方式相同,但是,您是否应该更改 faces-config.xml进入类似的东西

<managed-bean>
<managed-bean-name>personBean</managed-bean-name>
<managed-bean-class>com.test.sample.Person</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>

您的 bean 将在 personBean 下注册而不是 person (这是注释定义的名称)。

关于jsf-2 - 如果我编写 @managed bean 注释并在 faces-config.xml 中定义相同的,是否会有两个 bean 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12750771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com