【问题标题】:Inject Bean that uses @Named with value注入使用带有值的 @Named 的 Bean
【发布时间】:2012-11-05 01:43:31
【问题描述】:

如何注入一个使用 @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。没有进行注射。我的错。

【问题讨论】:

    标签: jsf cdi inject


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 2013-02-26
      • 2012-02-10
      相关资源
      最近更新 更多