数据库中数据项变化不定时如何设计Java Beans - 编程入门网
性是这个动态Bean对外界的宣布的"访问协议"。
从上面的代码可以看出动态属性Dynaproperty的主要构造函数接受两个参数:第一个为属性名称,为字符串性,第二个为属性的类型,为Class类型。从配置文件读取的资料普通为字符串型,我们可以用ClassLoader把配置文件中字符串型的属性类型转化成Class类型的属性类型。 下面struts 1.1 中struts-example.war的 formbeans.xml中的片断体现了如何在配置文件中定一个动态bean的动态属性:
下面RequestUtils的代码片断体现了如何从字符串表示的属性类型转化成Class型的属性类型:
这就是关于动态bean的所有奥秘,RequestUtils类代码片断public static ActionForm createActionForm就是这样创建动态bean的。 结语 我们说Java Bean所能支持的属性如相关属性和约束属性是其它组件技术所不能及的,这是非常先进的设计观念和模式。但是标准Java Bean属性是静态的,是在编译时决定的,不能满足变化不定的企业数据项的需求。扩展Java Bean属性机制提供了很好的思想,它不以Bean的List或Map成员看成一个整体属性,而把其中的动态元素看成属性,而且提供了脚本式的属性访问方法,从而为运行时动态管理(增,删和改)属性铺平了道路。动态属性继续发扬了扩展Java Bean属性机制的思路,考虑到增加程序的健壮性,保留了静态属性的类型检查机制,另外动态属性和属性配置文件结合可以提供良好的"静态和动态"平衡点,保证了动态Bean的动态属性不会漫无边际的扩张,这种动态性是有"章"可循的。 图二 三种属性机制的关系图 这三种属性机制的关系图表明了它们之间的这种依赖和发展关系;扩展Java Bean属性机制和动态属性机制都可以很好地解决数据项变化的需求。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |