【问题标题】:Manually trigger Eclipse4 (e4) class'es method, which uses injections?手动触发Eclipse4(e4)类的方法,使用注入?
【发布时间】:2013-02-27 16:51:50
【问题描述】:

我有一个类,它注入了一个 MApplication。它是一个处理程序。我想手动触发处理程序的方法。

问题: 当我从另一个类手动实例化处理程序时 - MApplication 为空。我触发 Handler 的类已经注入了 MApplication,所以不是生命周期问题。

问题: 如何触发具有 @Inject 注释方法的类中的方法?

【问题讨论】:

    标签: eclipse-rcp e4


    【解决方案1】:

    以下是成功的一天。

        ManipulateModelhandler man = new ManipulateModelhandler();
    
        //inject the context into an object
        //IEclipseContext iEclipseContext was injected into this class
        ContextInjectionFactory.inject(man,iEclipseContext);
    
        man.execute();
    

    【讨论】:

      【解决方案2】:

      更短:

      ContextInjectionFactory.make(ManipulateModelhandler.class, iEclipseContext).execute();
      

      或者通过独立于其名称(框架执行的方式)执行带注释的方法:

      ContextInjectionFactory.invoke(new ManipulateModelhandler(), Execute.class, iEclipseContext);
      

      【讨论】:

        猜你喜欢
        • 2018-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-12
        • 1970-01-01
        相关资源
        最近更新 更多