que managedproperty faces bean jsf-2 managed-bean faces-config

jsf 2 - managedproperty - ¿Habrá dos instancias para un bean si escribo una anotación de bean @managed y la defino en faces-config.xml?



jsf faces config navigation rule (1)

En mi aplicación, en algunos lugares estamos utilizando la anotación @ManagedBean para Person Bean y para el mismo Bean Person que definimos en faces-confing.xml como a continuación al mismo tiempo.

@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>

mi pregunta es si este enfoque crea dos instancias para el bean Person o si importa si hago esto. ¿Tiene esto algún efecto en el rendimiento de mi aplicación si hago esto por cada frijol en mi aplicación?


Hay una prioridad definida para este caso. @ManagedBean anotación @ManagedBean evita tener que configurar una entrada en faces-config.xml pero, si tiene ambas, la entrada <managed-bean> anula la anotación.

En su caso, solo habrá una instancia configurada como su entrada faces-config.xml . En su caso, ambos enfoques están configurados de la misma manera, pero, ¿debería cambiar su entrada faces-config.xml a algo así como

<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>

Su bean se registrará en personBean lugar de en person (que es el nombre definido por la anotación).