加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

10、Eternal框架-依赖注入

发布时间:2020-05-22 23:01:02 所属栏目:程序设计 来源:互联网
导读:我在茫茫人海寻着你,沿着你给的痕迹,我想我们会相遇,在浪漫的雨季,或是冰天雪地。 依赖注入或控制反转这个概念大家太熟悉啦,在eternal框架里的实现,只能基于属性的,对类的注入。这个注入的工作由持有者来完成,也就是说持有者管理着类之间的关系。实现

我在茫茫人海寻着你,沿着你给的痕迹,我想我们会相遇,在浪漫的雨季,或是冰天雪地。

依赖注入或控制反转这个概念大家太熟悉啦,在eternal框架里的实现,只能基于属性的,对类的注入。这个注入的工作由持有者来完成,也就是说持有者管理着类之间的关系。实现就比较简单啦,通过注解标识出需要注入的属性,属性值为需要注入的类,持有者把要注入的类,实例化后,通过反射付给属性。

@Inject(DemoService.class)
	public Service ser;
如上面的代码,Service可能是接口、抽象类、类,要注入的类为DemoService,Inject注解为标识属性需要注入。


以下为注入的关键代码,感兴趣的话,可以看下http://code.google.com/p/eternal-mvc/downloads/list 里的源代码1.1

for (Field field:filedArr) {
	 if (isControllerBean(field)) {
		 Inject inject = field.getAnnotation(Inject.class);
		 Class iCls = inject.value();
		 Object injObj = iCls.newInstance();
		 field.set(claObj,injObj);
		 log.info("Init Bean "+claObj.toString()+"的属性"+field.getName()+",注入值"+injObj.toString());
	 }
}

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读