mdp*_*mdp 2 faces-config jsf-2 managed-bean
在我的应用程序中,我们在某些地方使用 @ManagedBean 注释对 Person bean 和我们在 faces-confing.xml 中定义的同一个 Person bean 同时使用,如下所示。
@ManagedBean("name=person")
@SessionScoped
Public class Person{
}
Run Code Online (Sandbox Code Playgroud)
人脸配置文件
<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>
Run Code Online (Sandbox Code Playgroud)
我的问题是这种方法是否为 Person bean 创建了两个实例,或者如果我这样做很重要?如果我对应用程序中的每个 Bean 都这样做,这对我的应用程序的性能有什么影响吗?
为这种情况定义了一个优先级。@ManagedBean
annotation 避免了必须在其中配置条目,faces-config.xml
但是,如果您同时拥有这两个<managed-bean>
条目,则该条目会覆盖 annotation。
在您的情况下,只有一个实例配置为您的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>
Run Code Online (Sandbox Code Playgroud)
您的 bean 将注册在personBean
而不是person
(这是注释定义的名称)下。
归档时间: |
|
查看次数: |
839 次 |
最近记录: |