2011-02-05 3 views
2

EJB에 @Required (Spring)에 해당하는 주석이 있습니까? setter를 사용하여 종속성 주입을 수행하고 리소스가 주입되었는지 확인하려고합니다 (거의 NullPointerException이 발생하지 않을 것입니다.)). Spring에서는 쉽습니다.EJB 3.0에 Spring @ Required 어노테이션이 있습니까?

@Required 
public void setProperty(Property p) { 
this.property = p; 
} 

EJB에서 이러한 유효성 검사를 수행 할 수있는 방법이 있습니까? (어쩌면 주석 이외의 다른 솔루션 일 수도 있습니다.) 감사합니다

+1

EJB3에서는 @EJB와 @Resource를 통해 작업하고 그냥 작동합니다 :-) –

+0

그리고 어떤 상황에서는 컨테이너가 null을 주입하거나 주입을 전혀 수행하지 않을 수 있습니다. –

답변

1

ejb 주사는 @EJB@Resource (위와 같이)을 통해 이루어집니다. 주어진 (또는 자동 생성 된) 이름의 bean이 존재하지 않으면 컨테이너에서 오류가 발생합니다 (대부분 전개시에 발생합니다).

ejb bean 내에서 nullpointer 예외를 얻는 유일한 방법은 기본 생성자에서 삽입 된 객체에 액세스하려고하는 경우입니다. 사양 주입은 생성자 이후에 발생하여 @PostConstruct주기가 호출되기 전에 발생합니다.

관련 문제