如何动态确定Google Guice中的绑定

时间:2012-10-28 07:36:21

标签: dependency-injection guice

我目前正在使用Factory类实现某个功能,如下所示:

public class TemplateFactory {

    Template template = null;

    public static Template createTemplate(Message message){
        if(Message.getMessageId() == Message.WELCOME_MESSAGE) {
            template = new WelcomeTemplate(message);
        } else if (Message.getMessageId == Message.RESET_PASSWORD){
            template = new ResetPasswordTemplate(message);
        }
        return template;
    }
}

public class TemplateClient {
    public static void Main(String[] args){
        Message message = new Message(args[0]);
        Template template = TemplateFactory.createTemplate(message);
        template.doSomething();
    }
}

考虑到在运行时动态确定绑定,您如何使用Google Guice实现此功能?

2 个答案:

答案 0 :(得分:0)

您可以使用名为AssistedInject的guice扩展名来创建工厂。

答案 1 :(得分:0)