Fork me on GitHub
Castor简单介绍

本节摘要:本节主要介绍Castor插件的使用。

preparation

1.castor简介

castor是一种将java对象和XML自动绑定的开源软件。它可以在java对象、XML文本、SQL数据表以及LDAP目录之间绑定。Castor几乎是JAXB的替代品。Castor是ExoLab Group下面的一个开放源代码的项目,它主要实现的是O/R映射功能。它主要API和数据接口为:JDO-like, SQL, OQL, JDBC, LDAP, XML, DSML。它支持分布式目录事务处理和时间;提供处理XML、Directory、XADirectory的类库,提供从XML到JAVA类的转换机制。Castor(http://castor.exolab..org/)是一种将Java对象和XML自动绑定的开源软件。它可以在Java对象、XML文本、SQL数据表以及LDAP目录之间绑定。

2.下载需要用到的jar包

castor-1.0.1-xml.jar包下载地址:

http://www.castor.org/download.html

xercesImpl.jar包下载地址:

http://archive.apache.org/dist/xml/xerces-j/

也可以从下面的链接下载,以上两个jar包我都已经上传

https://files.cnblogs.com/java-pan/castor.rar

3.项目环境

system:win7  myeclipse:6.5  Tomcat:5.0  JDK:1.5    castor:1.0

项目结构图如下:

4.class&method

start

castor第一种用法:不使用xml配置文件

代码如下

核心转换类--->DefaultCastor.java

DefaultCastor.java

使用的javabean--->UserInfo.java

UserInfo.java

测试效果:

运行DefaultCastor.java类中的main方法,在控制台以及/src/com/castor/def/目录下查看生成的XML文件

控制台:

生成的xml文件test.xml效果如图:

castor第二种用法:使用xml配置文件

代码如下:

javabean--->Book.java

Book.java

javabean--->Author.java

Author.java

配置文件--->book-mapping.xml

book-mapping.xml

格式化相关类
读和写XML文件--->OperationFile.java

OperationFile.java

格式化XML类--->FormatXML.java

FormatXML.java

测试类(java转xml)---BookMapMarshaller.java

BookMapMarshaller.java

测试效果:
运行BookMapMarshaller.java类中的main方法,在控制台以及/src/com/castor/def/目录下查看生成的XML文件

控制台:

生成的xml文件 book-result.xml效果如下:

result

note.txt文件是使用castor过程中遇到的一些文件以及相应的解决方法

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory  at org.exolab.castor.util.Configuration.<clinit>(Configuration.java:101)  at org.exolab.castor.xml.Marshaller.initialize(Marshaller.java:379)  at org.exolab.castor.xml.Marshaller.<init>(Marshaller.java:337)  at com.castor.TestCastor.main(TestCastor.java:24) Exception in thread "main" 解决方案:导入commons-logging.jar包

java.lang.RuntimeException: Could not instantiate serializer org.apache.xml.serialize.XMLSerializer: java.lang.ClassNotFoundException: org.apache.xml.serialize.XMLSerializer  at org.exolab.castor.xml.XercesSerializer.<init>(XercesSerializer.java:50)  at org.exolab.castor.xml.XercesXMLSerializerFactory.getSerializer(XercesXMLSerializerFactory.java:31)  at org.exolab.castor.util.LocalConfiguration.getSerializer(LocalConfiguration.java:531)  at org.exolab.castor.xml.Marshaller.<init>(Marshaller.java:339)  at com.castor.TestCastor.main(TestCastor.java:24) Exception in thread "main" 解决方案:有些地方说是JDK1.5以下因为没有集成XMLSerializer类,故会报这个错误,但是我改为JDK1.5还是报这个错误 正确的解决方法是导入xercesImpl.jar包,jar包的下载路径如下为:http://archive.apache.org/dist/xml/xerces-j/

 

 
标签: castor

04 2012 档案

 
摘要: 本节摘要:本节主要介绍Castor插件的使用。preparation1.castor简介castor是一种将java对象和XML自动绑定的开源软件。它可以在java对象、XML文本、SQL数据表以及LDAP目录之间绑定。Castor几乎是JAXB的替代品。Castor是ExoLab Group下面的一个开放源代码的项目,它主要实现的是O/R映射功能。它主要API和数据接口为:JDO-like, SQL, OQL, JDBC, LDAP, XML, DSML。它支持分布式目录事务处理和时间;提供处理XML、Directory、XADirectory的类库,提供从XML到JAVA类的转换机制。Ca阅读全文
posted @ 2012-04-18 00:29 月月鸟0820 阅读(397) | 评论 (0) 编辑
摘要: 本节摘要:之前对JSON做了一次简单的介绍,并把JSON和XML做了一个简单的比较;那么,我就在想,如果是一个json格式的字符串传到后台,需要怎么对其处理?如果前台页面需要后台返回的是一个json的字符串,那么后台是怎么把json格式的字符串给拼装起来的呢?JSON和XML是不是有某种联系,他们之间是不是可以互相转换?……带着这些问题,搜索了相关的资料,并自己实际动手操作,总算对这些问题有了个比较清晰的认识。这些问题主要是通过JSONObject这个插件的jar包实现。preparation1.JSONObject介绍JSONObject-lib包是一个beans,collections,m阅读全文
posted @ 2012-04-07 21:21 月月鸟0820 阅读(959) | 评论 (1) 编辑
posted on 2012-04-18 11:55  HackerVirus  阅读(586)  评论(0编辑  收藏  举报