Scala 创建在构造函数中具有隐式

Scala 创建在构造函数中具有隐式,scala,akka,Scala,Akka,是否可以创建一个在构造函数中具有隐式的akka参与者? 具有: 及 我可以使用上下文来创建这样的角色吗 implicit val service:Service = new Service() val someLong = 3 context.actorOf(FromConfig.props(Props(classOf[Actor], someLong)), "actor") 值得一提的是,服务无法传递给构造函数,因为可以接收多个不同的actor类,这些类使用范围中的不同隐式。在actor的伴

是否可以创建一个在构造函数中具有隐式的akka参与者? 具有:

我可以使用上下文来创建这样的角色吗

implicit val service:Service = new Service()
val someLong = 3
context.actorOf(FromConfig.props(Props(classOf[Actor], someLong)), "actor")

值得一提的是,服务无法传递给构造函数,因为可以接收多个不同的actor类,这些类使用范围中的不同隐式。

在actor的伴生对象中定义您的道具,这有助于注入依赖项

class SomeActor(parameter: Long)(implicit service:Service) extends Actor {
    def receive = {
         case message => // Do your stuff
      }
}

object SomeActor {
   def props(parameter: Long)(implicit service:Service) = Props(new SomeActor(parameter))
}

implicit val service:Service = new Service()
val someLong = 3
val ref = context.actorOf(SomeActor.props(someLong)), "actor")
您可以在此处阅读有关依赖项注入的更多信息:

implicit val service:Service = new Service()
val someLong = 3
context.actorOf(FromConfig.props(Props(classOf[Actor], someLong)), "actor")
class SomeActor(parameter: Long)(implicit service:Service) extends Actor {
    def receive = {
         case message => // Do your stuff
      }
}

object SomeActor {
   def props(parameter: Long)(implicit service:Service) = Props(new SomeActor(parameter))
}

implicit val service:Service = new Service()
val someLong = 3
val ref = context.actorOf(SomeActor.props(someLong)), "actor")