Smooks 1.2框架:處理XML與非XML的Java框架
Smooks 1.2框架能夠用于各種數(shù)據(jù)格式的轉(zhuǎn)換:XML to XML,CSV to XML,EDI to XML,XML to EDI,XML to CSV,Java to XML,Java to EDI,Java to CSV,Java to Java,XML to Java,EDI to Java等。
不久前,Smooks 1.2框架版本發(fā)布了,這次添加了許多有趣的新功能:
EDIFACT Java 編譯器(EJC):EJC大大的簡(jiǎn)化了綁定EDI數(shù)據(jù)到Java object graph,EJC類似于JAXBs XJC。
支持實(shí)體持久性框架:重利用你的實(shí)體持久性資源(如Hibernate, iBATIS 火任何JPA兼容的資源)堅(jiān)持和豐富任何格式的messages。訪問(wèn)一個(gè)數(shù)據(jù)庫(kù),使用它的查詢語(yǔ)言,或CRUD方法 ,來(lái)讀出/寫(xiě)入數(shù)據(jù)庫(kù)。
驗(yàn)證:支持Data Field level驗(yàn)證,使用正則表達(dá)式,或Business Rule compliance驗(yàn)證,使用MVEL表達(dá)式。
簡(jiǎn)易的CSV處理:使用簡(jiǎn)易的XML配置,在幾分鐘之內(nèi)即可綁定CVS記錄到j(luò)ava 對(duì)象,或者使用一個(gè)更簡(jiǎn)單的programmatic API。
改進(jìn)Programmatic API:Smooks 1.2之前的版本,programmatic配置不是Smooks的強(qiáng)項(xiàng),但是在1.2版本中已經(jīng)取得了重大的改進(jìn)。許多Smooks的功能都可以通過(guò)java被利用,不需要編寫(xiě)XML。
使用Smooks 1.2框架的方式有兩種,你可以使用其中之一或結(jié)合使用它們:
模式一:你可以完全投入到Smooks中,編寫(xiě)你自己的定制訪問(wèn)者邏輯事件處理器,將其用于處理一個(gè)數(shù)據(jù)源事件流中特定事件。使用這一模式,你必須熟悉核心的API。
模式二:你可以重用由Smooks發(fā)行版提供的開(kāi)箱即用解決方案,其數(shù)目正在不斷的增長(zhǎng)中。在這種模式下,你只需要重用別人創(chuàng)建的組件即可,重新配置它們來(lái)處理你的數(shù)據(jù)源,例如,通過(guò)配置一些參數(shù)就可以由EDI數(shù)據(jù)源生成Java對(duì)象模型。