将Spring集成到现有的Guice项目中,并从Guice中获取bean

Tho*_*uck 5 java spring guice spring-boot

我正在尝试开发一个服务器端应用程序,该应用程序可以管理事物(我不想详细介绍)。

该应用程序分为几个模块。这些包括但不限于:

  • 网络通讯
  • 资料存取
  • 数据查询
  • 集成UI

所有上述模块都是解耦的,最上面的模块是IntegratedWebUI(集成UI)。所有模块仅公开接口,并且使用Guice IOC将这些接口连接在一起。

对于集成的UI,我想使用Spring。我知道,Spring附带了一个IOC容器,但我不希望其他模块了解Spring,以使其更具可互换性(就像更改它,而不接触其他模块)。

我的具体问题:以Spring试图从Guice注射器中取出豆子的方式,将Spring钩在Guice上是最优雅的方法吗?


我已经知道春天的果汁,某种程度上类似于这样。但是,我想完全取消IntegratedWebUI的耦合,并且永远不要更改WebUI模块内部的配置(因此,Guice注入器),即,通过更改guice模块的配置来更改行为。

在spring-guice的示例中,提供的钩子仅创建具体的Object,但是我希望能够告诉Spring:“尝试从Guice创建任何对象”(例如使用通用方法,这似乎是不可行的)。这样有什么可能吗?

Spring和Guice似乎都使用JSR330。是否可以编写一些通过Spring实例化并使用javax.inject。@ Inject从使用Guice连接的其他模块的依赖关系的Spring Controller?