강의

멘토링

로드맵

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

huk님의 프로필 이미지
huk

작성한 질문수

섹션4. 프록시 패턴과 데코레이터 패턴 실행 질문 입니다.

해결된 질문

작성

·

176

0

안녕하세요 영한님

질문을 검색했는데 나오지 않아 부득이하게 질문을 남겼습니다 ㅜㅜ

이미 있는 질문이라면 정말 죄송합니다. 다른질문들도 많은데

 

스프링고급편을 수강을 하고 있는데요

섹션4. 프록시 패턴과 데코레이터 패턴

인터페이스 기반 프록시 - 적용

편을 보고 질문드립니다.

 

해당 편을 실행을 시켜서 디버깅을 해보면

OrderControllerV1 해당인터페이스를 사용하는게

OrderControllerV1Impl implements OrderControllerV1

OrderControllerInterfaceProxy implements OrderControllerV1

두클래스인데

처음호출되는게 왜 OrderControllerInterfaceProxy 클래스인지 궁금해서 질문드립니다.

여기에 나와있는 Import 에 InterfaceProcxyConfig.class 때문인가요?

 

 

답변 1

1

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

섹션4. 프록시 패턴과 데코레이터 패턴 강의에 대한 질문이시군요. 질문에 대한 답변을 드리겠습니다.

OrderControllerV1Impl 클래스는 OrderControllerV1 인터페이스를 구현한 클래스입니다. 반면, OrderControllerInterfaceProxy 클래스는 OrderControllerV1 인터페이스를 구현한 프록시 클래스입니다. 프록시 클래스는 기존의 클래스를 감싸서 추가적인 로직을 수행하는 용도로 사용됩니다.

실제로 실행되는 것은 OrderControllerInterfaceProxy 클래스입니다. 이 클래스는 OrderControllerV1 인터페이스의 메소드를 호출할 때 원하는 로직을 추가로 적용할 수 있게 해줍니다. 관련된 설정은 Import 문에서 InterfaceProxyConfig.class를 사용하고 있습니다.

따라서 OrderControllerInterfaceProxy 클래스가 처음 호출되는 것은 프록시 패턴이 적용되어 있기 때문입니다.

마지막으로, 질문 검색이 제대로 되지 않아서 직접 질문을 남겨주셨다는 내용에 대해서 죄송하다고 얘기해드립니다. 언제든지 다른 질문이나 도움이 필요하신 경우에는 언제든지 문의해주세요. 감사합니다.

huk님의 프로필 이미지
huk
질문자

답변감사드립니다.

답변으로 유추해볼때

@Import(InterfaceProxyConfig.class)

으로 InterfacdProxyConfig 가 먼저 호출된다고 이해했습니다.

혹시 아니면 말씀부탁드리겠습니다.

답변감사합니다~

huk님의 프로필 이미지
huk

작성한 질문수

질문하기