当前位置:首页 > 开发 > 编程语言 > Java > 正文

由wsdl生成的java vo类不适合做普通java vo

发表于: 2012-08-20   作者:darrenzhu   来源:转载   浏览:
摘要: 开发java webservice项目时,如果我们通过SOAP协议来输入输出,我们会利用工具从wsdl文件生成webservice的client端类,但是这里面生成的java data model类却不适合做为项目中的普通java vo类来使用,当然有一中情况例外,如果这个自动生成的类里面的properties都是基本数据类型,就没问题,但是如果有集合类,就不行。原因如下: 1)使用了集合如Li
开发java webservice项目时,如果我们通过SOAP协议来输入输出,我们会利用工具从wsdl文件生成webservice的client端类,但是这里面生成的java data model类却不适合做为项目中的普通java vo类来使用,当然有一中情况例外,如果这个自动生成的类里面的properties都是基本数据类型,就没问题,但是如果有集合类,就不行。原因如下:
1)使用了集合如List students,自动生成的类不提供setStudents方法,要想给list成员变量赋值,只能通过getStudents().add(student)方式,这样在使用时非常不方便。
2)如果用了泛型如List<T> students,那么自动生成的类使用的是List<Object>类型,这样不仅丢失了泛型编程的方式,而且List<Object>也几乎变得毫无用处,因为任何一个具体类型的List<ClassX> 都不是一个List<Object>,其中ClassX!=Object,因为java 集合类不支持协变。


由wsdl生成的java vo类不适合做普通java vo

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号