首页 > 解决方案 > 在 Java 类中注入 Koin

问题描述

我正在尝试在我当前的项目中将 Dagger 2 替换为Koin,并且我不想在 Kotlin 中重写一些类来使用它。

是否可以在 Java 类中注入 Koin?

在 Kotlin 中只是

// Inject MyPresenter
val presenter : MyPresenter by inject()

谢谢

标签: javaandroidkotlinservice-locatorkoin

解决方案


对的,这是可能的。只需将项目与此 gradle 文件同步

implementation "org.koin:koin-java:$koin_version"

在你的java类中替换

// Inject MyPresenter
private val presenter : MyPresenter by inject()

private Lazy<MyPresenter> presenter = inject(MyPresenter.class);

并在 Java 类中获取演示者方法,例如

presenter.getValue().sayHello() 

推荐阅读