首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在露娜(Eclipse )导入的3.x基础Eclipse代码中使用依赖注入(DI)?

是否可以在露娜(Eclipse )导入的3.x基础Eclipse代码中使用依赖注入(DI)?
EN

Stack Overflow用户
提问于 2015-09-22 10:38:00
回答 1查看 325关注 0票数 2

目前,我正在尝试将Eclipse3.x代码迁移到e4,并希望访问e4依赖项注入(DI)特性。我没有像这里所描述的那样进行完整的迁移。我只是在e4之上导入3.x源代码来访问业务逻辑的DI特性(而不是UI)。

我注意到,如果我遵循这种方法,DI就无法工作。有什么方法可以在Eclipse 3.x源代码中获取DI (从露娜身上导入)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-22 11:10:10

如果一个对象是使用new xxxx创建的,那么它不会被注入。

Eclipse根据Application.e4xmi中的描述(和片段)创建的对象将自动注入(因此处理程序、部件、.)。由注射器创建的@Creatable对象也被注入。

您可以使用ContextInjectionFactory注入其他对象,这要求您可以访问IEclipseContext

代码语言:javascript
复制
MyClass myClass = ContextInjectionFactory.make(MyClass.class, eclipseContext);

使用注入创建类的新实例。

代码语言:javascript
复制
MyClass myClass = new MyClass();

ContextInjectionFactory.inject(myClass, eclipseContex);

在使用new创建对象之后注入该对象。在这种情况下,类构造器不能使用注入。

注意:一个树结构中有多个Eclipse上下文。部件有自己的上下文,因此如果使用该上下文创建对象,则该对象将仅在该部件(以及与该部件相关的任何处理程序等)中可用。

要使对象在任何地方都可用,可以使用MApplication中的Eclipse (调用getContext()方法)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32714709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档