@Named vs. @ManagedBean in JSF 2.0

A lot of people seem to suggest that you should use @Named instead of @ManagedBean in JSF 2.0 (e.g. see @ManagedBean dead on arrival? or this JavaRanch discussion).

However, what I discovered in a painful process is that you must use @ManagedBean when the scope is @ViewScoped, apparently because CDI doesn’t declare a view scope. Thus this is correct:

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

public class DogsBean {
// ...

NOTE: I am using JBoss 6 M3.


  1. Another thing I've noticed (although it might just be a problem on my end as I'm new to JSF) is that ajax-induced valueChangeHandlers will work with ManagedBeans but not @Named resources.

  2. I really can't wait to seeing this Dying to Read post and of course as always I have to give credit to the lovely Jill over at Breaking the Spine, which is so inspires me a lot as well. But there are also very beneficial human resources assignment help is always here to giving you their best services in all over the UK respectively.