使用 SubCut 我可以定义一个 BindingModule 并使用modifyBindings来获取一个新的,它可以覆盖一些绑定并添加新的绑定。是否有一个实用程序而不是说
val module : BindingModule
val newModule = module.modifBindings(...)
我可以改为做类似的事情
val mergedModule = merge(module1,module2,module3,...)
原因是我正在编写一个带有“可插入” jar 的应用程序 - 每个这样的 jar 都将有一个META-INF/bindings.properties文件,该文件将公开其BindingModule的类名。我的主要入口 jar 将通过反射实例化这些BindingModules,然后将它们组合起来。
这个想法是,如果可插入的 jar 遵循提供META-INF/bindings.properties的约定,那么部署应用程序就不需要新的配置。