JAXB属性的默认行为
在JAXB中,如果没有提供注释,那么元素名将从属性名而不是字段中派生,但是在这种情况下属性又如何呢?是否存在将属性写回XML文件的默认行为?1)如果未提供注释:JAXB属性的默认行为,jaxb,marshalling,Jaxb,Marshalling,在JAXB中,如果没有提供注释,那么元素名将从属性名而不是字段中派生,但是在这种情况下属性又如何呢?是否存在将属性写回XML文件的默认行为?1)如果未提供注释: 每个公共getter/setter对和每个公共字段都将 自动绑定到XML,除非由{@link xmltransive}注释 比如说 public class Cat { public String name = "tomcat"; private String nick = "catalina"; publ
每个公共getter/setter对和每个公共字段都将 自动绑定到XML,除非由{@link xmltransive}注释
比如说
public class Cat
{
public String name = "tomcat";
private String nick = "catalina";
public int getAge() { return 5; }
public void setAge(int age) {}
}
之后
JAXB.marshal(cat, System.out);
输出为
<cat>
<name>tomcat</name>
<age>5</age>
</cat>
<cat home="java.home" nick="catalina">
<name>tomcat</name>
<age>5</age>
</cat>
输出为
<cat>
<name>tomcat</name>
<age>5</age>
</cat>
<cat home="java.home" nick="catalina">
<name>tomcat</name>
<age>5</age>
</cat>
雄猫
5.
1)如果未提供注释:每个公共getter/setter对和每个公共字段都将 自动绑定到XML,除非由{@link xmltransive}注释
比如说
public class Cat
{
public String name = "tomcat";
private String nick = "catalina";
public int getAge() { return 5; }
public void setAge(int age) {}
}
之后
JAXB.marshal(cat, System.out);
输出为
<cat>
<name>tomcat</name>
<age>5</age>
</cat>
<cat home="java.home" nick="catalina">
<name>tomcat</name>
<age>5</age>
</cat>
输出为
<cat>
<name>tomcat</name>
<age>5</age>
</cat>
<cat home="java.home" nick="catalina">
<name>tomcat</name>
<age>5</age>
</cat>
雄猫
5.
这意味着每次必须提供@xmldattribute注释时都要指定属性?这意味着每次必须提供@xmldattribute注释时都要指定属性?