springbatch操作XML檔案

2021-06-23 04:54:16 字數 1805 閱讀 2902

一、需求分析

使用spring batch對xml檔案進行讀寫操作: 從乙個xml檔案中讀取商品資訊, 經過簡單的處理, 寫入另外乙個xml檔案中.

二、**實現

1. **結構圖:

base-package: 掃瞄spring註解

joblauncher: 啟動job

jobrepository: 為job提供持久化操作

transactionmanager: 提供事務管理操作

3. springbatch.xml

<?xml version="1.0" encoding="utf-8"?>

1. job包含乙個step,step中包含了基本的讀(xmlreader),處理(xmlprocessor),寫(xmlwriter)。

2. xmlreader配置了xml讀操作, resource屬性是指定檔案路徑資訊的。知道了檔案路徑。

fragmentrootelementname屬性是指定根節點名稱的. 

unmarshaller負責完成解析節點資訊,並對映成程式pojo物件。

3. trademarshaller為解析xml節點, 其中entry的key指定對應根節點名稱product,value指定程式的pojo類,這樣,程式就可以將product節點下的子節點與pojo類(product)中的屬性去匹配,當匹配到子節點名與pojo類中的屬性名相同時,就會將子節點的內容賦值給pojo類的屬性。這樣就完成了乙個根節點的讀取,框架會控制迴圈操作,直到將檔案中所有根(product)節點全部讀完為止。這樣就完成了xml檔案的讀操作。

4. xmlwriter配置了對xml檔案的寫操作。resource屬性提供檔案的路徑資訊。同時,也是需要知道這個檔案的跟節點資訊的,roottagname屬性提供根節點名資訊。marshaller把pojo物件轉換成xml片段的工具。本文讀操作的unmarshaller和寫操作的marshaller用的是同乙個轉換器,因為xstreammarshaller既提供將節點片段轉換為pojo物件功能,同時又提供將pojo物件持久化為xml檔案的功能。

4. xmlprocessor

/**

* xml檔案處理類。

*/@component("xmlprocessor")

public class xmlprocessor implements itemprocessor

}

5. product

/**

* 實體產品類

Spring Batch系列總括

最近乙個專案在使用springbatch框架做乙個電子商務平台的批處理。網上資料很有限,尤其是中文資料更是少之又少,官網上的文件也只是講一些入門的基礎知識,大部分高階特性都是一筆帶過,講解的很不徹底,在實際開發中碰到的問題很多。因此,特將自己學習 應用spring batch的過程總結成乙個個小例項...

xm學習筆記

1關於靜態網頁的製作 html主要負責頁面的結構 css頁面的美觀 js與使用者的互動 2html 有標籤體的標籤 沒有標籤的標籤 html的標籤是固定的。是由 w3c預先規定好的!3xml和html的簡單對比 xml 1 可以擴充套件的標記語言 2 可以自定義標籤 3 描述帶關係的資料,作為軟體的...

SpringBatch的流程簡介

springbatch的流程圖如下 每個batch都會包含乙個job。job就像乙個容器,這個容器裝了若干step,batch中實際幹活的也就是這些step,至於step幹什麼活,無外乎讀取資料,處理資料,然後將這些資料儲存起來 itemreader用來讀取資料,itemprocessor用來處理資...