bindConstant()
имеет возможность устанавливать различные примитивы из-за предопределенных экземпляров TypeConverter
внутри самого Guice.
В качестве примера взять следующее определение привязки:
bindContant().annotatedWith(@Names.named("c")).to("30");
Затем в классе, где вы хотите сделать инъекцию:
@Inject @Named("c") int value;
Guice преобразует границу String
в int
для вас.Если это невозможно, он скажет так.
Преимущество bindConstant()
заключается в том, что может произойти преобразование типов.Явное связывание int
не дает вам такой роскоши.