在我的应用程序的某些地方,我们使用@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(注释定义的名称)下注册.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。