我正在尝试开发一个服务器端应用程序,该应用程序可以管理事物(我不想详细介绍)。
该应用程序分为几个模块。这些包括但不限于:
所有所述模块都是解耦的,最上面的模块是IntegratedWebUI(集成UI)。所有模块仅公开接口,并且使用Guice IOC将这些接口连接在一起。
对于集成UI,我想使用Spring。我知道,Spring附带了一个IOC容器,但我不希望其他模块了解Spring,以使其更具可互换性(就像更改它,而不接触其他模块)。
我的具体问题 :最简单的方法是,以Spring试图从Guice注射器中取出豆子的方式将Spring钩在Guice上?
我已经知道spring-guice,它在某种程度上类似于这样。但是,我想完全断开IntegratedWebUI的连接,并且永远不要更改WebUI模块的内部配置 (因此,Guice注入器也是如此),即,通过更改guice模块配置来更改行为。
在spring-guice的示例中,提供的钩子仅创建具体的对象,但是我希望能够告诉Spring:“尝试从Guice创建任何对象”(例如使用通用方法,这似乎不可行) )。像这样完全有可能吗?
Spring和Guice似乎都使用JSR330。是否可以编写一些通过Spring实例化并使用javax.inject。@ Inject从其他使用Guice连接的模块的依赖项的Spring Controller?