2012-11-16 6 views
0

값과 함께 @Named 주석을 사용하는 Bean을 어떻게 삽입 할 수 있습니까? 문제없이@Named 값을 사용하는 Bean을 입력하십시오.

@Named 
public class LanguageService{ 
    ... 
} 

public class SomeOtherBean{ 

    @Inject 
    private LanguageService languageService 
} 

작품 - 내가 사용하고있는 경우 그러나 방법은, 주입하기 : @ManagedProperty이처럼

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

@Inject

가 값을 가질 수 없습니다. (하지만 CDI에 머물지 않아야합니다.)

편집 : 빈의 이름이 중요하지 않은 것으로 나타났습니다. NPE에 이르는 내 잘못은 수동으로 SomeOtherBean을 작성한 단순한 오류였습니다. 아무 주입도하지 않았다. 내 잘못.

답변

2

CDI는 annotation 매개 변수가 아닌 유형 (및 한정자)별로 주입 가능 빈을 선택합니다. 이름은보기에서 CDI 빈을 주소 지정하는 데 사용됩니다. facelets.

+0

당신 말이 맞습니다. 그걸 알아 차렸다. (편집 참조) – dognose

관련 문제