带有外部配置的Google Dagger 2

时间:2017-01-25 08:29:36

标签: embedded-jetty dagger-2 dagger spark-java

需要一些帮助。我想知道是否有可能让谷歌匕首2使用外部配置文件,如yml或xml文件?我正在使用dagger 2和sparkjava来构建REST API服务,因此我需要一种方法来为嵌入式jetty配置端口。

1 个答案:

答案 0 :(得分:0)

是的,有可能。您需要自己进行繁重的工作,将外部配置文件中的数据转换为可以使用的内部表单,然后在运行时将该表单提供给dagger。

一段时间我问了一个类似的问题,得到了一个很好的答案。基本上你需要

  • 以适当的内部形式读入配置文件。 Map<String, String>是个不错的选择。
  • 在调用build()方法之前,必须在运行时向模块提供映射。 Dagger帮助自动生成代码。
  • 对于每个配置条目,您需要编写一个@Provides方法,该方法在提供的地图中查找。是的,每个。没有捷径。

我们在最近的一个项目中做到了这一点。很多样板,但在适当的时候效果很好。

有关详细信息,请参阅https://stackoverflow.com/a/18105271/53897上的答案。