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

前端之家收集整理的这篇文章主要介绍了jsf-2 – 如果编写@managed bean注释并在faces-config.xml中定义相同的bean,是否会有两个实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的应用程序的某些地方,我们使用@ManagedBean annoation for Person bean和我们在faces-confing.xml中同时定义的同一个Person bean.
@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(注释定义的名称)下注册.

原文链接:https://www.f2er.com/xml/292707.html

猜你在找的XML相关文章