Scala:需要有关从文件获取属性的更好方法的建议

时间:2019-01-31 12:32:28

标签: scala file properties

我想提出一种在应用程序中访问文件属性的更好方法的建议。

正如标题所示,使用scala时,我有各种带有某些属性的配置文件,我想使用某种枚举(或case对象)访问这些属性,而不必记住字符串文字。

下面是我目前的实现方式,但是由于我缺乏知识,我觉得这比必要的要多。

文件:database.conf

database {
    datasource {
        driverClassName  = "com.mysql.jdbc.Driver"
        url = "jdbc:mysql://localhost:3306/bamboozle"
    }
}

案例对象:DatabaseConfig

import com.typesafe.config.ConfigFactory

case object DatabaseConfig extends Enumeration
{
    val
    databaseConfigFile
    ,dataSourceClassName
    ,dataSourceURL = Value

    private val dbMap = Map[DatabaseConfig.Value, String](
        databaseConfigFile -> "database.conf",
        dataSourceClassName -> "database.datasource.driverClassName",
        dataSourceURL -> "database.datasource.url"
    )

    def get(property: DatabaseConfig.Value): String = ConfigFactory.load(dbMap(DatabaseConfig.databaseConfigFile)).getString(dbMap(property))
}

使用     println(DatabaseConfig.get(DatabaseConfig.dataSourceURL))

您可以看到是否将值添加到database.conf中,然后需要更新DatabaseConfig枚举和dbMap。是否有更好的惯用方式来完成此任务。搜索“ scala读取文件属性”通常会产生使用字符串文字-____-的结果。感谢您的提前帮助。

0 个答案:

没有答案