7.2.3. 使用注入来扩展实施
您可以使用注入来添加或更改现有代码的功能。
以下示例为现有类添加了转换功能,并假定您已有一个 Welcome 类,它具有方法 buildPhrase。buildPhrase 方法将城市名称用作参数,并输出一个短语,如"Welcome to Boston!"。
这个示例将假设的转换 器 对象注入到 Welcome 类中。Translator 对象可以是 Jakarta Enterprise Beans 无状态 Bean 或其他类型的 bean,它可以将句子从一个语言转换为另一种语言。在这个示例中,转换 器用于 转译整个问候语,而不修改原始 Welcome 类。Translator 在调用 buildPhrase 方法之前注入。
示例:将一个翻译器 Bean 注入 欢迎 类
public class TranslatingWelcome extends Welcome {
@Inject Translator translator;
public String buildPhrase(String city) {
return translator.translate("Welcome to " + city + "!");
}
...
}