2012-11-16 60 views
0

如何注入Bean,它使用@Named註釋和值?使用帶值的@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。沒有注射完成。我的錯。

回答

2

CDI按類型(和限定符)而不是註釋參數選擇可注入的bean。該名稱用於從視圖中尋址CDI bean,例如小面。

+0

你說得對。也注意到(見編輯) – dognose