There's a priority defined for this case. @ManagedBean
annotation avoids having to configure an entry in faces-config.xml
but, if you have both, the <managed-bean>
entry overrides the annotation.
In your case, there'll be only one instance configured like your faces-config.xml
entry. In your case, both approaches are configured the same way but, should you change your faces-config.xml
entry to something like
<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>
Your bean will be registered under personBean
rather than person
(which is the name defined by the annotation).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…