0

如何注入一个使用@Named注释和值的 Bean?

@Named
public class LanguageService{
   ...
} 

public class SomeOtherBean{

    @Inject
    private LanguageService languageService
}

工作没有问题 - 但如何注入,如果我使用:

@Named("lang")
public class LanguageService{
   ...
} 

@Inject不能像原来那样有值@ManagedProperty。(但我不想留在 CDI)

编辑:我注意到 bean 如何命名并不重要。我的导致 NPE 的错误很简单,我SomeOtherBean手动创建了,而且 ofc。没有进行注射。我的错。

4

1 回答 1

3

CDI 按类型(和限定符)而不是注解参数选择可注入 bean。该名称用于从视图(例如 facelets)中寻址 CDI bean。

于 2012-11-16T10:50:09.890 回答