Finatra:我如何向控制器注入属性值?

时间:2015-12-19 13:50:33

标签: scala finatra

我想做那样的事情

class AssetsController @Inject()(path: String) extends Controller {
  // ...
}

路径应取自密钥为application.conf的{​​{1}}。将来,我可能会向控制器添加一些其他属性(源是相同的path.to.something文件)。

*.conf可以吗?

PS

使用Finatra时,您可以通过这种方式注入值

Spring Framework

也许在@Value("#{configuration.key}") private String key; 中有类似String方法的东西?

1 个答案:

答案 0 :(得分:0)

Finatra不会从文件中读取配置。您必须通过命令行选项传递配置,并可以通过@Flag注释获取选项。例如,

$ java -jar app.jar -path=/foo/bar

// MyController.scala
class MyController @Inject(@Flag("path") path: String) {
  def index(request: Request) = {
    path // "/foo/bar"
  }
}

您可以阅读doc了解详情。