如果只有一个可用的实现,可以使Guice绑定到其实现?
我发现的大多数问题是关于如何选择可用的许多实现之一。就我而言,我有2个接口的实现,但是在构建时间我将确保只有一个可用。
guice文档建议@implemented ty注释。
当然,您可能会认为运行时只有一个,但是您不能阻止任何人与另一个罐子一起添加jar jar。因此,您需要自己提供默认值。
(或者,您可以自己扫描整个类路径,并检查某个接口是否具有一个实现并绑定。但这是一个危险的假设IMHO(。