【发布时间】:2020-06-12 15:12:22
【问题描述】:
我正在努力想出一个可以使用 Dagger 和 Lambda 的解决方案。主要问题似乎是依赖注入发生在构造函数中,而您必须在 Lambda 中提供至少一个 0-arg-constructor。我该如何克服呢?
【问题讨论】:
-
你能举个例子吗?
标签: dependency-injection aws-lambda dagger
我正在努力想出一个可以使用 Dagger 和 Lambda 的解决方案。主要问题似乎是依赖注入发生在构造函数中,而您必须在 Lambda 中提供至少一个 0-arg-constructor。我该如何克服呢?
【问题讨论】:
标签: dependency-injection aws-lambda dagger
我提出的解决方案(和blogged about)是让您的零参数构造函数检索构造的 Dagger 配置,即:
public Handler() {
this(DaggerConfig.create().serviceLayer());
}
/* test only */ Handler(ServiceLayer service) {
this.service = service;
}
【讨论】:
无需提供 0-arg-constructor。尝试 lambda 事件并扩展请求处理程序。 guice,spring 解决了对运行时的依赖,这可能会增加你的冷启动时间。另一方面,dagger2 解决了对编译时间的依赖。 更多详情:https://www.youtube.com/watch?v=plK0zyRLIP8
【讨论】: