-
stackoverflow 번역하기 :: @PostConstruct를 왜 사용할까?Java 2021. 7. 25. 12:53
Link
https://stackoverflow.com/questions/3406555/why-use-postconstruct
Question(발번역 주의)
Bean 내부의 @PostConstruct는 자바 객체의 생성자 이후에 호출되는데요, 자바 객체의 생성자 대신에 @PostConstructor를 사용해야만 하는 경우가 있나요?
Answer(발번역 주의)
- 객체가 생성될 때 선언한 의존성들을 사용해야 하는 경우
자바 객체의 생성자는 Bean이 초기화되기 이전에 호출됩니다. 즉, 자바 객체의 생성자가 호출될 땐 의존성이 아직 주입되지 않은 상태입니다. 반면 @PostConstrucor가 적용된 메소드는 Bean의 초기화가 완료된 후 호출됩니다. 즉, @PostConstrucor가 적용된 메소드가 호출될 땐 주입된 의존성들을 사용할 수 있습니다. - Bean lifesycle 상에서 생성될 때 한번만 호출되어야 하는 경우
하나의 Bean은 container에 의해 여러번 인스턴스화되는 경우가 있는데, @PostConstrucor가 적용된 메소드는 해당 Bean이 생성될 때 딱 한번만 호출됨이 보장됩니다.
'Java' 카테고리의 다른 글
Java Stream(Lambda) 주요 메소드 (0) 2022.02.07 댓글
- 객체가 생성될 때 선언한 의존성들을 사용해야 하는 경우