JavaEE提供CDI(上下文和依赖注入),Spring提供依赖注入。但是,在部署(服务器启动时)时,都会出现有关重复项或缺少依赖项的问题和异常。
是否存在用于服务器端应用程序的依赖注入解决方案(如Dagger(用于Android)),该解决方案提供了全静态的编译时依赖关系分析/解决方案,并将问题和错误通知开发人员。
JavaEE提供CDI(上下文和依赖注入),Spring提供依赖注入。但是,在部署(服务器启动时)时,都会出现有关重复项或缺少依赖项的问题和异常。
是否存在用于服务器端应用程序的依赖注入解决方案(如Dagger(用于Android)),该解决方案提供了全静态的编译时依赖关系分析/解决方案,并将问题和错误通知开发人员。
Dagger不是特定于Android的,它是一个通用Java库,与Guava一样,可以在服务器端与EE api一起使用它。
您可能会说Dagger比Spring或Weld更像是“通用Java”解决方案,因为Dagger使用语言的核心机制而不是运行时提供的相当复杂的机制。这就是为什么它在Android或GWT等平台上获得巨大成功的原因。