相当于Guice的requireBinding的Spring

时间:2019-02-22 14:31:27

标签: java spring dependency-injection guice

Guice的requireBinding在春季相当于什么?

对于那些熟悉Spring但不熟悉Guice的人来说,requireBinding的作用是:
假设您有4个模块:

  • security
    包含一个SignatureHelper界面
  • web-api
    取决于security
    包含使用SignatureHelper
  • 的REST API资源
  • web-ui
    也取决于security
    包含还使用SignatureHelper
  • 的HTML资源
  • webapp
    同时取决于web-apiweb-ui(以及可传递的security
    主要用于将这两个模块打包到一个.war文件中
    它还包含SignatureHelper接口的实现

web-apiweb-ui都将无法声明自己对SignatureHelper的绑定,因为它们甚至都没有可用的具体实现。即使它们这样做,也将不允许它们一起声明相同的绑定两次。

这就是使用Guice的原因,web-apiweb-ui都可以简单地指定对SignatureHelper类的必需依赖项,并要求在其中加载其Guice模块的应用程序具有以前绑定的一个。

如何在Spring中完成相同的工作?

0 个答案:

没有答案