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

在使用SOAP协议开发Java WebService项目时,自动生成的Java数据模型类存在局限性。对于包含集合属性的情况,这些类缺乏合适的setter方法,并且不支持泛型,这导致在实际应用中使用不便。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发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 集合类不支持协变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值