统统最代码的彩票gravatar头像
统统最代码2016-02-17 16:38:41

Spring Batch对XML文件的彩票读写操作demo实例

本文将通过一个完整的彩票实例,与大家一起讨论运用Spring Batch对XML文件的彩票读写操作。实例流程是注册从一个XML文件中读取商品信息,经过简单的彩票处理,写入另外一个XML文件中。

工程结构如下图:

Spring Batch对XML文件的彩票读写操作demo实例

项目说明:

1、XMLLaunch类用来启动Job,

2、XMLProcessorr类用来对Reader取得的彩票数据进行处理,

3、Goods类是注册一个POJO类,用来存放映射的彩票数据。

4、input.xml是注册数据读取文件, output.xml是注册数据输出文件。

本Job包含一个Step,完成一个完整的彩票xml文件读写功能。分别由 xmlReader完成文件的彩票读操作,由 xmlProcessor完成对取得数据的彩票处理,由 xmlWriter完成对xml文件的彩票写操作。

xmlReader对XML文件读操作。对XML的彩票读是注册由SpringBatch提供的彩票StaxEventItemReader类来完成。要读取一个XML文件,首先要知道这个文件的彩票存放路径,resource属性就是注册指定文件路径信息的彩票。知道彩金文件路径,还需要知道要读取的彩票XML的彩票根节点名称,fragmentRootElementName属性就是注册指定根节点名称的彩票。知道彩金根节点名称,还需要知道的彩票一点就是注册怎么解析这个节点信息,unmarshaller就负责完成解析节点信息,并映射成程序pojo对象。注意,根节点并不是注册指整个XML文件的彩票根节点,而是注册指要读取的彩票信息片段的彩票根节点,不管这个节点片段处在哪一层,框架都会娱乐遍历到。

tradeMarshaller解析XML节点信息的彩票unmarshaller。其中entry的彩票key指定对应根节点名称goods,value指定程序的彩票pojo类,这样,程序就可以将goods节点下的彩票子节点与pojo类(Goods)中的彩票属性去匹配,当匹配到子节点名与pojo类中的彩票属性名相同时,就会娱乐将子节点的彩票内容赋值给pojo类的彩票属性。这样就完成彩金一个根节点的彩票读取,框架会娱乐控制循环操作,直到将文件中所有根(goods)节点全部读完为止。这样就完成彩金XML文件的彩票读操作。

xmlWriter对XML文件的彩票写操作。与读XML文件一样,要写一个XML文件,也是注册需要知道这个文件的彩票文件的彩票存放路径的彩票,同样是注册resource属性提供文件的彩票路径信息。同时,也是注册需要知道这个文件的彩票跟节点信息的彩票,rootTagName属性提供根节点名信息。注意此处的彩票根节点,指整个文件的彩票跟节点,与读得时候稍有区别,从两个属性的彩票名称上也可以看出。有彩金上面的彩票信息,完成一个写操作,还需要一个把pojo对象转换成XML片段的彩票工具,由marshaller提供。本文读操作的彩票unmarshaller和写操作的彩票marshaller用的彩票是注册同一个转换器,因为XStreamMarshaller既提供将节点片段转换为pojo对象功能,同时又提供将pojo对象持久化为xml文件的彩票功能。如果写的彩票内容与读得内容有很大差异,可以另外配置一个转换器。

input.xml文件内容如下:

Spring Batch对XML文件的彩票读写操作demo实例

处理结果如下(output.xml):

Spring Batch对XML文件的彩票读写操作demo实例


打赏

文件名:SpringBatchXML.rar,文件大小:3198.036K下载
  • /
      • /SpringBatchXML
        • /SpringBatchXML/.classpath
        • /SpringBatchXML/.project
          • /SpringBatchXML/.settings
            • /SpringBatchXML/.settings/org.eclipse.core.resources.prefs
            • /SpringBatchXML/.settings/org.eclipse.jdt.core.prefs
            • /SpringBatchXML/.settings/org.eclipse.m2e.core.prefs
          • /SpringBatchXML/lib
            • /SpringBatchXML/lib/spring-aop-3.2.4.RELEASE.jar
            • /SpringBatchXML/lib/spring-batch-core-2.1.8.RELEASE.jar
            • /SpringBatchXML/lib/spring-batch-infrastructure-2.1.8.RELEASE.jar
            • /SpringBatchXML/lib/spring-beans-3.2.4.RELEASE.jar
            • /SpringBatchXML/lib/spring-context-3.2.4.RELEASE.jar
最代码最近下载分享源代码列表最近下载
tonnylocal LV22018年10月24日
星星星星
james4lee LV112018年9月17日
月亮月亮星星星星星星
479964140 LV92018年8月9日
月亮月亮星星
安安an LV142018年8月2日
月亮月亮月亮星星星星
sp朱盼 LV162018年5月4日
太阳
jic499 LV272018年4月13日
太阳月亮月亮星星星星星星
lovesoo6 LV22018年3月19日
星星星星
liangpc LV62018年2月23日
月亮星星星星
wsly98 LV12018年2月11日
星星
Hassid LV22018年1月8日
星星星星
最代码最近浏览分享源代码列表最近浏览
qin123456 LV35月9日
星星星星星星
15131009532 LV15月7日
星星
哈哈zr LV94月17日
月亮月亮星星
javastu LV74月15日
月亮星星星星星星
心死已无爱 LV73月24日
月亮星星星星星星
idcomcn2003 LV43月11日
月亮
liuhaoran LV63月11日
月亮星星星星
asd45211 LV92月28日
月亮月亮星星
dkq1314520 LV62月19日
月亮星星星星
pannijingling LV32月19日
星星星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友