Java JAXB:如何在解组过程中管理数据

Java JAXB:如何在解组过程中管理数据,java,jaxb2,Java,Jaxb2,我正在使用jaxb进行解组过程 <kiran acct = "1234567" /> package com; @XmlRootElement(name = "kiran") @XmlAccessorType(XmlAccessType.FIELD) public class CustAcct { @XmlAttribute private String acct; public CustAcct() { super(); }

我正在使用jaxb进行解组过程

<kiran acct = "1234567" />

package com;
@XmlRootElement(name = "kiran")
@XmlAccessorType(XmlAccessType.FIELD)
public class CustAcct {

    @XmlAttribute
    private String acct;

    public CustAcct() {

        super();
    }

    public String getAcct() {
        System.out.println("The New Getter Method of Account is called");
        return acct;
    }

    public void setAcct(String s) {
        System.out.println("The New Setter Method of Account  is called");
        acct = s;
    }

}
这是我的请求

<kiran acct = "1234567" />

package com;
@XmlRootElement(name = "kiran")
@XmlAccessorType(XmlAccessType.FIELD)
public class CustAcct {

    @XmlAttribute
    private String acct;

    public CustAcct() {

        super();
    }

    public String getAcct() {
        System.out.println("The New Getter Method of Account is called");
        return acct;
    }

    public void setAcct(String s) {
        System.out.println("The New Setter Method of Account  is called");
        acct = s;
    }

}
这里我的问题是,为什么在这种情况下没有调用Setter方法setAcct

我的意思是为什么没有打印“调用新的Setter帐户方法”这一行,以及getMethod中的行在哪里被调用(调用新的Getter帐户方法)

基本上,我希望将数据手动填充到请求XML中发送的属性。

是否有任何回调方法可以控制设置数据的方式


提前感谢。

为什么在这种情况下没有调用Setter方法setAcct???

因为您将访问类型设置为字段:
@xmlacessortype(xmlacesstype.field)
。将其更改为
@xmlacessortype(xmlacesstype.PROPERTY)

javadoc

是否有任何回调方法可以控制设置数据的方式???

对。使用时,您可以完全控制marshall/unmarshall过程