7.2.3. 삽입을 사용하여 구현 확장
삽입을 사용하여 기존 코드의 기능을 추가하거나 변경할 수 있습니다.
다음 예제에서는 기존 클래스에 변환 기능을 추가하고 이미 startup 클래스가 있다고 가정합니다. 이 클래스에 는 buildPhrase 메서드가 있습니다. buildPhrase 메서드는 도시 이름을 인수로 사용하여 "Welcome to Boston!"과 같은 구문을 출력합니다.
이 예제에서는 가상 개체를 Welcome 클래스에 주입합니다. 자카르타 엔터프라이즈 빈 상태 비저장 빈 또는 다른 유형의 빈이 될 수 있으며 한 언어에서 다른 언어로 문장을 변환할 수 있습니다. 이 경우 원래 Welcome 클래스를 수정하지 않고 전체 인사말을 변환하는 데 사용됩니다. building 은 buildPhrase 메서드를 호출하기 전에 주입됩니다.
예제: Welcome 클래스에 정상적인 빈을 주입합니다.
public class TranslatingWelcome extends Welcome {
@Inject Translator translator;
public String buildPhrase(String city) {
return translator.translate("Welcome to " + city + "!");
}
...
}