KoinComponent中的Koin geProperty()无法解析

时间:2019-03-07 16:15:45

标签: koin

Koin 2.0.0-beta-1

我只能在Appmodule中获得getProperty(“ SERVICE”)。在“活动”,“片段”,“视图模型”和“服务”中,不能使用getProperty。

测试版有什么变化吗?

1 个答案:

答案 0 :(得分:1)

如果我们检查KoinComponent的src代码,我们会看到返回Koin实例的'getKoin()'函数。 在Koin class的src代码中,我们找到了所需的'getProperty'

请参阅下面的简单用例

import org.koin.Logger.slf4jLogger
import org.koin.core.KoinComponent
import org.koin.core.context.startKoin
import org.slf4j.LoggerFactory

class Runner : KoinComponent {
    val logger = LoggerFactory.getLogger("entry")

    companion object {
      @JvmStatic
      fun main(args: Array<String>) {
          startKoin {
            slf4jLogger()
            fileProperties()
            modules()
        }
      val runner = Runner()
      runner.initVals()
       }
    }

    fun initVals() {
      logger.info("koin is go")
      val url: String? = getKoin().getProperty("SERVER_URL")
      logger.info("koin properties is go ${url}")
    }
}

// koin.properties in src/main/resources
SERVER_URL=https://some_server_url