Spring的元数据支持[Java编程]
本文“Spring的元数据支持[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
为了与它供应的其他重要概念的抽象相一致,Spring供应了一个对元数据实现的外观(facade), 以org.springframework.metadata.Attributes这个接口的情势来表示.
这样一个外观很有代价,因为下面几个缘由:
目前还没有一个尺度的元数据办理筹划. Java 1.5版本会供应一个,但是在Spring1.0版本的时刻, Java 1.5还是beta版本.并且,至少两年内还是需求对1.3和1.4版本的利用程序供应元数据支持. 目前Spring打算供应一些可以工作的办理筹划: 在一个重要的环境下等候1.5,并非个好的挑选.
目前的元数据API,比方Commons Attributes(被Spring 1.0利用), 测试起来很艰难.Spring供应了一个简单的更简单模拟的元数据接口.
即便当Java 1.5在语言级别供应了对元数据的支持时,供应了一个如此的抽象仍旧是有代价的:
JSR-175的元数据是静态的.它是在编译时与某一个类关联,而在布置环境下是不可改变的. 这里会需求多层次的元数据,以支持在布置时重载某些attribute的值--举例来说, 在一个XML文件中定义用于覆盖的attribute.
JSR-175的元数据是通过Java反射API返回的.这使得在测试时无法模拟元数据.Spring供应了一个简单的接口来答应这种模拟.
固然Spring在Java 1.5到达它的GA版本之前将支持JSR-175,但仍会持续供应一个attribute抽象API.
Spring的Attributes接口看起来是这样的:
public interface Attributes {
Collection getAttributes(Class targetClass);
Collection getAttributes(Class targetClass, Class filter);
Collection getAttributes(Method targetMethod);
Collection getAttributes(Method targetMethod, Class filter);
Collection getAttributes(Field targetField);
Collection getAttributes(Field targetField, Class filter);
}
这是个最普通不过的命名者接口.JSR-175能供应更多的功效,比方定义在办法参数上的attributes. 在1.0版本时,Spring目的在于供应元数据的一个子集,使得能象EJB或.NET一样供应有效的声明式企业级服务.1.0版本今后,Spring将供应更多的元数据办法.
注意到该接口像.NET一样供应了Object范例的attibute. 这使得它辨别于一些仅供应String类的attribute的attribute系统, 比方Nanning Aspects和JBoss 4(在DR2版本时).支持Object范例的attribute有一个明显的长处.它使attribute含有类层次,还可以使attribute可以机动的按照它们的配置参数起作用.
关于大大都attribute供应者来说,attribute类的配置是通过构造函数参数或JavaBean的属性完成的.Commons Attributes同时支持这两种方法.
同全部的Spring抽象API一样,Attributes是一个接口.这使得在单元测试中模拟attribute的实现变得简单起来.
以上是“Spring的元数据支持[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |