Java Data Binding Tools

  • JAXB is nice, Castor si nice as well.
  • In order to use JAXB you need to install a big library from which to use only JAXB. When you want to distribute you’re application you’ll need to add also about 6-7 jars from JWSDP. Castor is really light. For distribution you need to add only castor.jar which relies on xerces.jar
  • Obviously Castor is using reflection for marshalling/unmarshalling. JAXB is using annotations. I don’t know how fast the annotations are, but for sure reflection is slow.
  • For Castor you need to manage the XML file containing the bindings, to configure the application to read it from some where, … etc. On the other side fot JAXB you have everything in the generated class. JAXB seems better here.
  • Let’s look the previous thing from another perspective: You have some classes which are already created and you want to persist them. And to increase the dramatical effect and make easier your decision let’s assume you can not change them. In this case is very easy to decide, because you can not use JAXB.
  • Both can be used to generate classes from XSL schema files. Castor has a tool to generate simple bindings from POJO classes. JAXB generate not only the classes containing data but also some factories.
  • Castor can be used to persist data in database instead of xml files. This looks very good if you plan to switch between xml files and database.

你可能感兴趣的:(java,JAXB,application,tools,binding,Annotations)