인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

kongminoo님의 프로필 이미지
kongminoo

작성한 질문수

스프링 핵심 원리 - 고급편

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

InterfaceProxyConfig에 관한 질문

작성

·

66

0

@Configuration
public class InterfaceProxyConfig {

    @Bean
    public LogTrace logTrace() {
        return new ThreadLocalLogTrace();
    }

    @Bean
    public OrderControllerV1 orderController() {
        return new OrderControllerInterfaceProxy(new OrderControllerV1Impl(orderService()), logTrace());
    }

    @Bean
    public OrderServiceV1 orderService() {
        return new OrderServiceInterfaceProxy(new OrderServiceV1Impl(orderRepository()), logTrace());
    }

    @Bean
    public OrderRepositoryV1 orderRepository() {
        return new OrderRepositoryInterfaceProxy(new OrderRepositoryV1Impl(), logTrace());
    }

}

강의 보기 전에 멈춰서 제가 먼저 configuration을 만들어봤는데 결과는 똑같은 거 같더라구요

강의와 config하는 방식이 다른데 로직 자체는 똑같은 거 맞나요?(혹시나 logTrace를 빈으로 등록하고 사용해서 일관성이 깨질 수도 있나 생각했습니다.)

그리고 parameter로 받는 것과 이렇게 빈으로 등록한 것의 차이가 무엇일까요?

답변 1

0

안녕하세요. kongminoo님, 공식 서포터즈 y2gcoder입니다.

말씀하신 것처럼 다른 곳에서 등록된 빈을 파라미터로 받아 주입하느냐, 같은 설정 클래스에서 등록한 빈을 사용하느냐의 차이일 것 같습니다 🙂

 

감사합니다.

kongminoo님의 프로필 이미지
kongminoo

작성한 질문수

질문하기