文档章节

e4 rcp @inject 注入自己的对象

zhenghuazhi
 zhenghuazhi
发布于 2017/07/11 16:21
字数 152
阅读 24
收藏 0
package redisclient.context.func;

import org.eclipse.e4.core.contexts.ContextFunction;
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
import org.eclipse.e4.core.contexts.IContextFunction;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.e4.ui.model.application.MApplication;
import org.osgi.service.component.annotations.Component;

import redisclient.context.bean.Bean;

@Component(name="redis.services.bean", service=IContextFunction.class,
property="service.context.key=redisclient.context.bean.Bean")
public class TestContextFunction extends ContextFunction {
	@Override
	public Object compute(IEclipseContext context, String contextKey) {
		
		Bean bean =  ContextInjectionFactory.make(Bean.class, context);
		
		 MApplication app = context.get(MApplication.class);
	     IEclipseContext appCtx = app.getContext();
	     appCtx.set(Bean.class, bean);
		
		return bean;
	}

}

e4 中实现@inject  Bean bean 需要实现contextFunction类,需要注意的是service.context.key='类的全路径',如果注解不生效,添加配置文件,同时在manifest中加入Service-Component: OSGI-INF/service.xml

<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="Bean">
   <implementation class="redisclient.context.func.TestContextFunction"/>
    <property name="service.context.key" type="String"  value="redisclient.context.bean.Bean"/>
   <service>
      <provide interface="org.eclipse.e4.core.contexts.IContextFunction"/>
   </service>
</scr:component>

 

    

 

© 著作权归作者所有

zhenghuazhi

zhenghuazhi

粉丝 7
博文 266
码字总数 91131
作品 0
深圳
高级程序员
私信 提问
Eclipse 4.2 中的轻量级 CSS 编辑器

CSS in Eclipse 4.2 在 Eclipse 4.2 的设置中,一些关于颜色和字体的设置改用了 CSS 进行设置。例如 General > Appearance > Colors and Fonts 设置界面。 Eclipse SDK 使用主题对 CSS 样式单...

红薯
2012/06/28
6.9K
17
控制反转与依赖注入通俗描述

控制反转(IOC): 由框架或其他某些东西来控制需要调用的事件处理器或其他东西,而不是由业务逻辑决定。 举例:spring中的bean,我们在spring项目中配置了datasource后,不需要关注如何调用它...

李矮矮
2016/09/26
33
0
Eclipse e4 的亮点

e4 项目是下一代的 Eclipse。e4 将为流行的基于组件的应用程序和工具提供一个平台。在本文中,我们将学习 e4 中的一些新特性,比如 XWT 和声明性样式处理。XWT 是一个新工具包,可用于在 XM...

红薯
2010/01/23
1K
1
Eclipse 4.2 中的轻量级 CSS 编辑器

CSS in Eclipse 4.2 在 Eclipse 4.2 的设置中,一些关于颜色和字体的设置改用了 CSS 进行设置。例如 General > Appearance > Colors and Fonts 设置界面。 Eclipse SDK 使用主题对 CSS 样式单...

王振威
2012/11/27
684
0
Eclipse e4 的亮点

e4 项目是下一代的 Eclipse。e4 将为流行的基于组件的应用程序和工具提供一个平台。在本文中,我们将学习 e4 中的一些新特性,比如 XWT 和声明性样式处理。XWT 是一个新工具包,可用于在 XM...

violet
2010/01/28
2.8K
7

没有更多内容

加载失败,请刷新页面

加载更多

CSS3

一.复杂选择器 1.兄弟选择器 具备相同父级元素的平级元素之间称为兄弟元素 注意:兄弟选择器,只能往后,不能往前找 (1).相邻兄弟选择器,获取紧紧挨着某元素后面的兄弟元素 选择器1+选择器2...

wytao1995
15分钟前
3
0
Jmeter录制

1. 加HTTP(s) Test Script Recorder 2. 在 recorder下面加reocrding controller 3. 在HTTP(s) Test Script Recorder中设置下面几项 4. browser设置proxy, 注意端口要和step3中jmeter中的一致......

Rebecca_Hu
19分钟前
3
0
DIV+CSS忽悠前端小白

在大约两年前,DIV+CSS是一对很诱人的组合,会用DIV+CSS制作网页的人,常常会被人赞以大拇指的,记得06年初的时候,我用 div+css布局的一个纯静态网站还拿了学校网页设计比赛的一个奖。 今天...

前端老手
23分钟前
3
0
Win10子系统 linux(Ubuntu18.04) 安装Docker

1)原文件备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 2)编辑源列表文件 sudo vim /etc/apt/sources.list 3)将原来的列表删除,添加如下内容(中科大镜像源) deb http...

jxldjsn
25分钟前
3
0
Ubuntu16.04安装Qt5.12.2

Ubuntu16.04安装Qt5.12.2 第一步:下载文件 https://download.qt.io/official_releases/qt/5.12/5.12.2/ 第二步:安装依赖库 sudo apt-get install build-essential sudo apt-get install li......

shzwork
30分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部