java

java原生xml类的两个属性具有相同名称解決方法

rzk · 1月24日 · 2022年本文共1100个字 · 预计阅读4分钟144次已读

java原生xml类的两个属性具有相同名称解決方法

需要在set方法上加上注解@XmlTransient
@XmlTransient 注解解决 JavaBean 属性名称与字段名称之间的名称冲突,或者用于防止字段/属性的映射
阻止将 JavaBean 属性映射到 XML 表示形式

@Data
@XmlRootElement(name = "xml")
public class BaseMessage {
    @XmlElement(name = "ToUserName")
    private String toUserName;
    @XmlElement(name = "FromUserName")
    private String fromUserName;
    @XmlElement(name = "CreateTime")
    pr睿共享ivate String createTime;
    @XmlElement(name = "MsgType")
    private String msgType;

    pu睿共享blic BaseMessage() {
    }

    public BaseMessage(Map<String,String> requestMap) {
      睿共享  this.toUserName = requestMap.get("ToUserName");
        this.fromUserName = requestMap.get("FromUserName");
        this.createTime = System.currentTimeMillis()/1000+"";
    }

    public String getToUserName() {
        return toUserName;
   睿共享 }
    @XmlTransient
    public void setToUserName(String toUserName) {
        this.toUserName = toUserName;
    }

    public String getFromUserName() {
        return fromUserName;
    }
    @XmlTransient
    public void setFromUserName(String fromUserName) {
        this.fromUserName = fromUserName;
    }

    public String getCreateTime() {
        return createTime;
    }
    @XmlTransien睿共享t
    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getMsgType() {
        return msgType;
    }
    @XmlTransient
    public void setMsgType(String msgType) {
        this.msgType = msgType;
    }
}
0 条回应