【发布时间】:2017-07-14 18:06:56
【问题描述】:
我在 Java 中找到了以下代码,解释了如何使用 guice 将配置参数很好地注入为带注释的字符串参数。 https://github.com/google/guice/wiki/FrequentlyAskedQuestions
我想在 scala 中做同样的事情。 你会怎么做?
请注意,我正在寻找使用通用特征/类的解决方案。一些东西
trait Foo[T <- SomeOtherType] {}
class FooImpl[T <- SomeOtherType](val url: String) extend Foo[T] {}
我研究了辅助注射,但无法解决我的问题。
任何帮助将不胜感激。 谢谢
【问题讨论】:
-
我看到如何做到这一点的唯一方法是使用带有工厂特征的辅助注入 Foo 和 FooImpl 并提供我自己的工厂实现。但这意味着使用 toInstance(new FooFactory([my string params]) 绑定我的工厂。而且我仍然不确定它是否适用于泛型... Java 中的注释解决方案看起来更简洁。但无法确定解决这个问题。