我想问一下两者之间有什么区别
bindConstant().annotatedWith(Names.named("keepAliveInterval")).to(60);
和
bind(Integer.TYPE).annotatedWith(Names.named("keepAliveInterval")).toInstance(60);
我想用Names.bindProperties(binder(),prop);加载所有配置属性。在我的模块中,我发现它使用后一个绑定(bind)属性。
感谢和问候
马雷克
最佳答案
我认为使用bindConstant()
的原因是:
bindConstant().to(foo)
。由于您与之绑定(bind)的类型是基元和String
,因此无注释的绑定(bind)对它们中的任何一个都不太有意义。 bindConstant()
将int
绑定(bind)到Integer.class
而不是Integer.TYPE
,而不需要指定类型),因此所需的工作较少。 我认为
Names.bindProperties
不使用bindConstant
只是因为它是内部代码,可以在绑定(bind)过程中跳过一两个步骤,再多一点代码即可。在您自己的模块中,我将只使用bindConstant
,因为它简单易懂。