• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

빈 라이프사이클 인터페이스 질문입니다.

19.07.02 16:38 작성 조회수 115

0

두 가지 질문이 있습니다.

 

[첫번째]

빈이 생성된 후

1.

BeanPostProcessor 라이프사이클 인터페이스의

postProcessBeforeInitialization 메서드로 초기화 작업 전

어떤 작업을 수행하고

 

2.

InitializingBean 인터페이스의

afterPropertiesSet메서드를 오버라이드해서 초기화 작업후

(또는 @PostConstruct 어노테이션을 적용한 메서드)

 

3.

BeanPostProcessor 라이프사이클 인터페이스의

postProcessAfterInitialization 메서드로 초기화 작업 후

어떤 작업을 수행할 수 있다

 

이렇게 강의내용을 이해했습니다.

그런데 실제로 한개의 빈에 위 내용을 적용해 수행해보니 실행순서가

2 -> 1-> BeanCreationException 이 발생하는데

 

제가 강의 내용을 잘못 이해한 걸까요?

 

[두번째]

AutowiredAnnotationBeanPostProcessor 클래스가

@Autowired 어노테이션을 처리한다고 말씀하셨는데

빈생성 후 초기화 작업 전 단계에서 수행되는 건가요?

 

긴 질문 읽어주셔서 감사합니다.

답변 1

답변을 작성해보세요.

1

[첫번째] 그럴리가 없습니다. 1 -> 2 -> 3 순서입니다. 테스트 코드를 잘못 작성하신거 같네요. 나중에 기회되면 영상으로 보여드리겠습니다.

[두번째] 네 그렇습니다.