인프런 커뮤니티 질문&답변

이화평님의 프로필 이미지
이화평

작성한 질문수

스프링 핵심 원리 - 고급편

빈 후처리기 - 예제 코드2

여러 개의 빈 후처리기를 등록하면??

작성

·

467

0

안녕하세요.
최종 질문은 마지막 문단에 하였습니다.
 
[빈 후처리기 - 예제코드2] 강의 관련 질문드립니다.
 
빈 후처리기 자체가 스프링 빈으로 등록이 가능한데,
예제에서 나오는 AtoBPostProcessor 이외에 제가 임의로 C클래스를 작성하고 BtoCPostProcessor 후처리기를 빈으로 등록해봤습니다.
 
그리고 컨테이너에
1) AtoBPostProcessor
2) BtoCPostProcessor
 
순서대로 빈을 등록하였습니다.
 
테스트 코드에서는 A 타입의 빈을 찾고 C 타입으로 캐스팅하여
c.helloC()를 실행한 결과 문제없이 동작하였습니다.
그리고 빈 후처리기 동작 순서또한 빈 후처리 등록 순서와 같았습니다.
 
이번에는 컨테이너에 등록할 때,
1) BtoCPostProcessor
2) AtoBPostProcessor
 
순서대로 등록하였더니, 오류가 발생하였습니다.
 
위에서 말씀드린 것처럼 컨테이너에 빈 후처리기를 빈으로 등록한 순서대로 후처리기를 통과(?)하는 것 같습니다.
 
질문은
 
1) 빈 후처리기 순서를 조작할 수 없는지? (그럴 필요는 있는지?)
2) 연쇄적(?)으로 빈후처리기를 등록하는 일이 있는지?
=> 즉, 첫 번째 후처리기의 결과에 따라 그 다음 후처리기를 호출할 필요가 있는지, (실무에서 여러 개의 빈 후처리기의 순서를 제어할 필요가 발생하는지)
 
감사합니다.
 

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 야평님

빈 후처리기 순서 조작 방법은 다음에 있는 Ordering 항목을 참고해주세요.

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/factory/config/BeanPostProcessor.html

감사합니다.

이화평님의 프로필 이미지
이화평

작성한 질문수

질문하기