如何在 Netbeans 平台中进行构造函数依赖注入

How to do Constructor Dependency Injection in Netbeans Platform

我问自己一段时间如何在 Netbeans 平台中执行 CDI,尤其是使用 TopComponents 或它们的子类。现在我正在使用 LookUps 来获取我的依赖项和模块间通信并且它工作正常,但是我的组件的依赖项对外部不可见,就像它正在使用 CDI 所以我正在寻找一种方法来填充我的 TopComponents 的构造函数具有正确的参数(松耦合槽接口类型)。我目前使用 3 个模块:

如您所见,由于模块化系统中的松散耦合,两个模块(GUI 和核心)都依赖于 API。我认为使用 LookUps 为 API 中的接口找到正确的实现是很好的,但正如我所说,我还希望让依赖关系对我的组件外部可见 类.

那么有没有什么方法可以使用 Netbeans 平台(版本 8.0.2)在模块化松散耦合架构中进行构造函数依赖注入,如果是的话,怎么做?

如果不是,提供组件依赖关系清晰视图的最佳解决方案是什么类?

任何帮助将不胜感激。

我想我找到了解决部分问题的方法。通常我的 TopComponents 是通过

访问的

Window -> TopComponentNameHere

action(这是由我用于 TopComponent 的 Annotations 生成的?)。

我们的想法是您还可以在 Actions 中初始化 TopComponent 并显示它们。在这里,您使用简单的 new 语句创建要显示的 TopComponent 的对象。关键在于:您可以先通过 LookUps 加载组件依赖项,然后将它们直接传递到构造函数中(在我看来这不是一个完整的解决方案,因为该操作必须初始化 TopComponent,但是)。

我认为这比直接在组件初始化代码中获取依赖项更漂亮,并且足以让我暂时接受。