빈 후처리기는 스프링 컨테이너에 빈이 등록되기 전 로직을 처리할 수 있게 해주는 기능이다.
빈을 직접 등록해서 하면 되는데 왜 굳이 또 중간에 뭘 넣는가 의문이 들 수 있다.
그냥 Configuration 파일 만들어서 직접 주입하면 되는거 아닌가 생각이 들었다.
하지만 코드를 작성할 때 빈 객체를 등록할 때 보통은 @Bean 보다는 @Component를 더 선호할 것이다.
빈 후처리기는 @Component로 바로 빈으로 등록되기 전 가로채서 로직을 처리할 수 있게 마지막 기회를 준다.
간편하게 @Component로 빈이 자동 등록되는데 굳이 가로채야 하는 이유에는 어떤 것이 있을까?
지금까지 공부한 프록시가 되겠다.
프록시 내에 여러 부가 기능들을 넣어두고 권한 설정도 해놨는데 (추가하고 싶은데) 냅다 자동으로 등록되버리면 당황스럽지 않은가. (= 어드바이저로 한번에 퉁칠 수 있는데 수작업이 많아지기 싫다)
가로챌 기회를 주는게 BeanPostProcessor이다.
이 후의 자세한 코드단 관련 내용은 추후 스프링 AOP 강의를 들을 때 추가로 정리하도록 하겠다.
'Spring > 이론' 카테고리의 다른 글
[AOP] @Aspect 프록시, 포인트컷, 어드바이스 (0) | 2024.01.30 |
---|---|
[스프링 기초] Bean, 의존성 주입 DI에 대한 나만의 고찰 (0) | 2024.01.23 |
[AOP 기반] 프록시 팩토리, 포인트컷, 어드바이스, 어드바이저란? (0) | 2024.01.17 |
프록시 형태 별 차이 (인터페이스 VS 클래스) (0) | 2024.01.04 |
[JPA] 응답 값으로 DTO를 전달해야 하는 이유 (0) | 2023.10.04 |