Dependency injection 如何在GoogleGuice中动态确定绑定

Dependency injection 如何在GoogleGuice中动态确定绑定,dependency-injection,guice,Dependency Injection,Guice,我目前正在使用Factory类实现特定功能,如下所示: public class TemplateFactory { Template template = null; public static Template createTemplate(Message message){ if(Message.getMessageId() == Message.WELCOME_MESSAGE) { template = new WelcomeT

我目前正在使用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实现这一点?

您可以使用称为创建工厂的Guice扩展。

MapBinder是您需要的:

我已经看过了它,因为Guice有了一个新功能,我发现它令人困惑。请举一个简单的例子。谢谢