You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring WSDL生成的Country类无writer列表Setter,如何添加元素

解决方法

你遇到的权限报错是因为writer成员变量是protected修饰,非同类/同包/子类无法直接访问,JAXB自动生成的集合类字段默认就是这种设计:不提供setter,直接通过getter方法获取集合实例后操作即可。

正确代码写法

Writer w = new Writer();
w.setName("Miguel");
w.setSurname("Cervantes");

Country spain = new Country();
spain.setName("Spain");
// 不直接访问protected的writer字段,调用getWriter()方法获取集合实例后操作
spain.getWriter().add(w);

可选配置:让JAXB自动生成集合的setter方法

如果你希望后续自动生成的类自带setWriter()方法,可以修改JAXB代码生成插件的配置,比如给jaxb2-maven-plugin添加生成setter的参数,重新生成代码后就可以直接传入自定义的Writer集合完成赋值。

内容的提问来源于stack exchange,提问作者Grzegorz Wilanowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:06:03