LagomフレームワークとScaladslを使用して電子メールを送信する簡単なサービスを作成しようとしています。私は電子メールを処理するためにプレイメーラープラグインを使用しようとしていますが、私はサービスの実装に注入しようとしています。Lagomに依存関係を注入しようとしたときにエラーが発生しました
私はサービスの特性と実装を作成し、mailerClient
をコンストラクタの依存として渡しました。
trait MailerService extends Service { ... }
class MailerServiceImpl(mailerClient: MailerClient, persistentEntityRegistry: PersistentEntityRegistry) extends MailerService {
...
}
私はApplicationLoaderでサービスを配線していますが、パターン次Lagom documentationにしてmacwireを使用して、ハロー世界のアプリケーションで説明しました。
abstract class MailerApplication(context: LagomApplicationContext)
extends LagomApplication(context)
with CassandraPersistenceComponents
with AhcWSComponents {
override lazy val lagomServer: LagomServer = serverFor[MailerService](wire[MailerServiceImpl])
override lazy val jsonSerializerRegistry = MailerSerializerRegistry
persistentEntityRegistry.register(wire[MailEntity])
}
コンパイルしようとすると、次のエラーが発生します。
/.../workspace/mailer/mailer-impl/src/main/scala/com/example/mailer/impl/MailerApplicationLoader.scala:92 [エラー]: は型の値を見つけることができません:[play.api.libs.mailer.MailerClient]
私はmacwireがコンストラクタから依存関係を整理することができると思っていましたが、実際にはそうではないようです。私は、これまでどんな成功もせずにアプリケーションローダーで明示的にワイヤリングしようとするような、さまざまなオプションを試しました。
DIがLagomでどのように動作するかについて間違っていることは確かですが、わかりません。
アイデア?