从lift scala中的props文件中读取DB凭据

时间:2013-04-19 06:41:54

标签: apache scala properties jetty lift

我刚刚开始使用Scala并解除框架工作。我正在尝试使用普通JDBC连接我的数据库。我希望从default.props文件中读取我的数据库凭据。到目前为止我尝试了以下代码: 在我的default.props文件中:

db.class=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost/scalatest
db.user=root
db.password=

在我的boot.scala文件中,我试图像这样进行JDBC连接:

val filename = "/src/main/resources/props/default.props"
Props.whereToLook = () => ((filename, () => Full(new FileInputStream(filename))) :: Nil)

val DBDriver = Props.get("db.class").toString
val DBURL =  Props.get("db.url").toString
val DBUsrName =  Props.get("db.user").toString
val DBPass = Props.get("db.password").toString

Class.forName(DBDriver)
val conn  = DriverManager.getConnection(DBURL,DBUsrName, DBPass)

但是在使用container:start命令运行服务器时,会显示fileNotFoundException。任何人都可以告诉我在这里必须做什么。提前完成。

1 个答案:

答案 0 :(得分:4)

删除您更改Props.whereToLook的行。它应该已经设置为正确的值。 (more info on the Lift wiki

注意:src/main/resources文件夹的内容通常会在运行时直接添加到类路径中。因此,通过调用src/main/resources/props/default.props可以使用someClassInYourProject.getResourceAsStream("/props/default.props")文件。不要试图在运行时引用源目录中的文件,因为它只会在以后引起麻烦。