我们选择 Dagger2 而不是 Spring 作为 Storm 应用程序之一的依赖注入(inject)框架。 我们还有一个基于 Spring MVC 的遗留应用程序,它在多项目 gradle 设置中使用 dagger 项目中的一些代码。
(简化的)项目层次结构如下所示:
- : Dagger 核心
- :storm-dagger(取决于 dagger-core)
- :spring-ui(依赖于 dagger-core)
由于 spring 和 dagger 都有自己的引导对象图的方法,那么让 #3 一起工作的最佳方法是什么?目前,我们在 spring-ui 中有一个 @Component 工厂类,它“提供”来自 dagger-core 的依赖项。然后,工厂和提供的类都使用 spring 的工厂模式定义为 spring bean(工厂类作为使用工厂方法的工厂 bean,其他提供的类作为工厂 bean 的工厂方法)。有更好的方法吗?
最佳答案
目前,我们在 spring-ui 中有一个 @Component 工厂类,它“提供”来自 dagger-core 的依赖项。然后,工厂和提供的类都使用 spring 的工厂模式定义为 spring bean(工厂类作为使用工厂方法的工厂 bean,其他提供的类作为工厂 bean 的工厂方法)。
关于java - Dagger + Spring ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32570708/