Java EE 6 и CDI

Я только начинаю изучать CDI и Java EE 6, но я нашел этот фрагмент кода, который хочу полностью понять.

@Stateful
@Model
public class MemberRegistration {
   @Inject
   private EntityManager em;

   @Inject
   private Event<Member> memberEventSrc;

   private Member newMember;

   @Produces
   @Named
   public Member getNewMember() {
      return newMember;
   }
}

Затем ... Я увидел, что страница jsf ссылается на этот newMember объект вроде этого:

<h:inputText value=#{newMember.name}/>

Итак, мой вопрос: не имеет значения, если я помещу аннотацию @Named в переменную любого объекта, она будет доступна в любом случае из кода JSF? Кроме того, как в этом случае используется @Produces , и, наконец, @Stateful предпочтительнее @Stateless в Java EE 6? Если это так, то почему?

9
задан Tiny 5 April 2015 в 15:31
поделиться