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

龙8国际娱乐pt老虎机

本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对XML文件的读写操作。实例流程是从一个XML文件中读取商品信息,经过龙8国际娱乐pt老虎机的处理,写入另外一个XML文件中。

工程结构如下图:

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

项目说明:

1、XMLLaunch类用来启动Job,

2、XMLProcessorr类用来对Reader取得的龙8国际娱乐官方网站进行处理,

3、Goods类是一个POJO类,用来存放映射的龙8国际娱乐官方网站。

4、input.xml是龙8国际娱乐官方网站读取文件, output.xml是龙8国际娱乐官方网站输出文件。

本Job包含一个Step,完成一个完整的xml文件读写功能。分别由 xmlReader完成文件的读操作,由 xmlProcessor完成对取得龙8国际娱乐官方网站的处理,由 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 LV162018年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日
星星星星
最代码最近浏览分享源代码列表最近浏览
huohal LV212月2日
星星星星
hxhufo008 LV311月18日
星星星星星星
tootootoo LV311月14日
星星星星星星
mooncharmzx LV110月20日
星星
Jason_zqw LV310月14日
星星星星星星
lby970321 LV29月11日
星星星星
nc_demo1 LV38月21日
星星星星星星
lelelada LV58月21日
月亮星星
戎码一生 LV138月5日
月亮月亮月亮星星
laiba117月11日
暂无贡献等级
最代码位
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友