더북(TheBook)

컴포넌트는 이 인터페이스를 구현해 의존 관계를 얻으려는 컨테이너에 신호를 보냅니다. 일반적으로 컨테이너는 톰캣(Tomcat)이나 제이보스(JBoss)와 같은 기반 애플리케이션 서버나 기반 프레임워크, 스프링과 같은 애플리케이션 프레임워크에서 제공합니다. 다음 예제 코드는 의존성 룩업 서비스를 제공하는 간단한 컨테이너 인터페이스입니다.

예제 3-3 단순한 컨테이너 인터페이스([[cdl]] Container.java)

package com.apress.prospring5.ch3;

public interface Container {
    Object getDependency(String key);
}

 

컨테이너가 컴포넌트에 의존성을 전달할 준비가 되면 컨테이너는 차례대로 performLookup() 메서드를 호출합니다. 그러면 컴포넌트는 다음 예제처럼 Container 인터페이스로 의존성을 룩업할 수 있습니다.

예제 3-4 컨테이너에서 의존성을 가져오는 컴포넌트([[cdl]] ContextualizedDependencyLookup.java)

package com.apress.prospring5.ch3;

public class ContextualizedDependencyLookup implements ManagedComponent {
    private Dependency dependency;

    @Override
    public void performLookup(Container container) {
        this.dependency = (Dependency) container.getDependency("myDependency");
    }

    @Override
    public String toString() {
        return dependency.toString();
    }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.