如何使用Guice依赖注入扩展接收参数的类

时间:2017-10-01 10:01:38

标签: scala guice

我有一个定义为的类:

django.db.expressions

我想创建一个新的类,其中包含上述内容:

class CalloutReaderService @Inject()(configuration: Configuration, sparkSession: SparkSession, domainUtils: DomainUtils, udfDefinitions: UdfDefinitions,
                                 dwhSiteInstanceReader: DwhSiteInstanceReader)
extends Serializable {

使用Guice依赖注入时的正确语法是什么?

由于

1 个答案:

答案 0 :(得分:4)

您仍然需要将每个依赖项注入到(子类的)构造函数中:

class CalloutReaderServiceTest @Inject() (
  configuration: Configuration, 
  sparkSession: SparkSession, 
  domainUtils: DomainUtils,
  udfDefinitions: UdfDefinitions,
  dwhSiteInstanceReader: DwhSiteInstanceReader) 
  extends CalloutReaderService (
  configuration,
  sparkSession,
  domainUtils,
  udfDefinitions,
  dwhSiteInstanceReader)

但是,你真的需要创建一个子类吗?特别是使用这个名称,听起来你只想用一组适合测试的依赖项来实例化“普通”CalloutReaderService