30.11.2011
Связывание данных - JAXB.
Для связывания классов с их XML представлением в Java есть разные способы - JAXB, Castor, XStream. Но JAXB пожалуй самый простой, он входит в Java SE, хорошо подходит для простых задач и при использовании классов, сгенерированных по XSD-схеме. В предыдущем посте JAXB преобразует данные, которыми оперирует веб-сервис - это происходит автоматически, когда объект передается методу/возвращаются данные. Посмотрим немного подробнее, как выполнить преобразование произвольного объекта в xml и обратно (маршалинг/демаршалинг). Использовать JAXB очень легко. Допустим у нас есть класс, который описывает свойства автомобиля:
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlAttribute; @XmlRootElement(name="auto") public class Auto { private Boolean newAuto; private String autoMarka; private String autoModel; private Integer horsePower; @XmlAttribute(name = "new") public Boolean getNewAuto(){ return newAuto; } public void setNewAuto(Boolean value){ newAuto = value; } @XmlElement(name = "marka",required = true) public String getAutoMarka(){ return autoMarka; } public void setAutoMarka(String value){ autoMarka = value; } @XmlElement(name = "model") public String getAutoModel(){ return autoModel; } public void setAutoModel(String value){ autoModel = value; } @XmlElement public Integer getHorsePower(){ return horsePower; } public void setHorsePower(Integer value){ horsePower = value; } }