我正在研究E4 RCP应用程序,虽然我们的基本DI配置正在运行,但我对我们当前的实现有所保留。
IInjector接口和@ProcessAdditions注释被标记为不鼓励进行外部访问。目前,我们正在使用类似于
的一系列陈述injector.addBinding(IInterface.class).implementedBy(Concrete.class);
从标记为@ProcessAdditions的方法中。可以使用哪些方法不违反访问规则?我知道我可以通过IEclipseContext将类/字符串绑定到实例,但是手工使用ContextInjectionFactory似乎强制配置器知道构造顺序(与其他DI框架相反)。
我知道Guice有子注入器的概念,但在E4中,ContextInjectionFactory在内部设置为仅使用默认的注入器进行制造。使用DI制造一组物体并随后处理该组的最佳方法是什么?我想为每个处理操作创建一批新的处理对象。
答案 0 :(得分:1)
ContextInjectionFactory
是我在e4中进行注射所描述的唯一内容(例如Lars Vogel' Eclipse 4 RCP'书)。这就是我在e4应用程序中使用的内容。
某些内容(例如@ProcessAdditions
)被标记为不鼓励,因为e4 API的那部分尚未最终确定并且可能会更改,但仍可以使用它们。 @ProcessAdditions
仅用于应用程序生命周期类。