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

Scala Finatra:如何向控制器注入属性值?,scala,finatra,Scala,Finatra,我想做那样的事 class AssetsController @Inject()(path: String) extends Controller { // ... } 路径应该取自application.conf,其中键是path.to.something。将来,我可能会向控制器添加一些其他属性(源代码与*.conf文件相同) 有没有可能在Finatra中这样做 PS 使用springframework时,可以通过这种方式注入值 @Value("#{configuration.key}"

我想做那样的事

class AssetsController @Inject()(path: String) extends Controller {
  // ...
}
路径应该取自
application.conf
,其中键是
path.to.something
。将来,我可能会向控制器添加一些其他属性(源代码与
*.conf
文件相同)

有没有可能在Finatra中这样做

PS

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

@Value("#{configuration.key}")
private String key;

也许在
Finatra
中有类似于字符串的方法?

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"
  }
}
有关更多信息,请阅读