java – Scala和@Inject注释

我知道在Scala中处理依赖注入的最佳方法是使用专门为该语言构建的工具,但我正在开发一个必须集成一些Scala和Java代码的项目.

然后,我使用的是Google Guice,它实现了规范JSR-330.幸运的是,我在Guice和Scala的集成过程中没有发现任何问题.我正在使用构造函数注入,因为我必须处理不变性.

我的问题是,为什么在Scala中我们必须在构造函数参数前面使用符号@Inject()?为什么()paranthesis?它遵循一个例子:

class MyClass @Inject() (val another: AnotherClass) {
  // Body of the class
}
最佳答案
否则,你怎么知道(val another:AnotherClass)是@Inject的构造函数参数列表还是参数?

转载注明原文:java – Scala和@Inject注释 - 代码日志