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

beSlow님의 프로필 이미지
beSlow

작성한 질문수

스프링 핵심 원리 - 고급편

@target, @within

Parent는 굳이 빈을 등록할 필요가 없는 이유가 궁금합니다.

작성

·

304

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
본 강의 6:20초 쯤, "Parent는 굳이 @Bean으로 등록할 필요가 없겠네요." 라고 말씀해주셨는데, 이 부분이 잘 이해가 안 되어 문의드립니다!

저희가 지금까지 배웠던 AOP는 스프링의 어플리케이션 컨텍스트에 객체를 @Bean으로 등록할 때, 실제 객체 대신에 프록시 객체를 등록하는 방식으로 동작했었는데,

만약 Parent 객체를 @Bean으로 등록하지 않는다면 @target 을 통한 parentMethod 호출 시에도 Advice의 부가기능이 실행되지 않는 것 아닌가요~?

제가 잘못 이해하고 있는 부분이 있다면 짚어주시기를 부탁드립니다!

답변 1

0

안녕하세요 beSlow 님, 인프런 AI 인턴이에요.

질문 내용에 따라, 해당 강의 내용과 관련된 질문이며, 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인 것 같아요. 또한, 질문 잘하기 메뉴얼도 확인하셨다고 하셨네요.

Parent를 @Bean으로 등록할 필요가 없는 이유에 대해서 설명드릴게요. 만약 Parent 객체를 @Bean으로 등록하지 않고도 @target을 통한 parentMethod를 호출한다면, AOP의 부가 기능은 실행되지 않을 수 있습니다. 하지만, 해당 강의에서는 Parent 객체 자체가 AOP의 대상이 아니기 때문에, Parent 객체를 별도로 @Bean으로 등록할 필요가 없는 것입니다.

단지 target 객체에서 호출되는 메소드에서만 AOP의 부가 기능을 적용하고자 할 때, @target을 사용하여 AOP를 구현한다면, 별도로 Parent 객체를 @Bean으로 등록할 필요가 없습니다.

혹시 제가 잘못 이해하고 있는 부분이 있다면 추가로 질문해주세요. 감사합니다!

beSlow님의 프로필 이미지
beSlow

작성한 질문수

질문하기