2012-12-27 2 views
0

여러 위치에 주입하는 간단한 POJO 클래스가 있습니다. 거기에 대한 명시적인 프로듀서가 없습니다. 나는 단지 @Inject POJO mypojo을 수행하며 훌륭하게 작동한다.용접 중 어떻게 주입하기 전에 객체를 초기화합니까?

이제 내 문제는 다른 곳으로 주입하기 전에 POJO 객체 (데이터 소스에서 읽는 것을 포함)를 초기화하려고한다는 것입니다. 데이터 소스 자체는 POJO 내에 @Resource(name = "jdbc/xx") DataSource ds;으로 삽입됩니다. 이제 POJO의 생성자에서 ds은 null이며 생성자가 완료된 후에 만 ​​주입됩니다.

사출 전에 객체를 초기화 할 수 있도록 사물을 생성 한 후 주입하기 전에 얻을 수있는 후크가 있습니까?

+1

이잖아. 너를 위해 일하지 않니? – Perception

+0

@Perception 고마워, 나는 그것에 대해 알지 못했다. 대답으로 의견을 추가해 주시면 받아 들일 수 있습니까? –

+1

문제는 @SurajChandran, 대답 게시 및 프로젝트 행운을 빕니다. – Perception

답변

2

여기는 @PostConstruct 주석의 내용입니다. Bean이 CDI 컨테이너에 의해 생성 된 후에 실제로 호출되기 전에 호출됩니다. 예 :

public class POJO { 
    public Pojo() { 
     super(); 
    } 

    @PostConstruct 
    protected void initialize() { 
     // initialization code here 
    } 
} 

문서 : 대한 있어야하는데 무엇을 @PostConstruct http://docs.oracle.com/javaee/6/api/javax/annotation/PostConstruct.html

관련 문제