Java專案中SSH框架的最佳替代品
阿新 • • 發佈:2019-02-08
Nutz是一款優秀的國產開源專案,它由一系列輕便小型的框架(比如MVC、DAO、IoC 、Json等)組成,且各個部分可以被獨立使用。
Nutz可以作為除SSH之外的另一個選擇,且比SSH更為輕量。Nutz遵循Apache License V2.0開源協議,目前最新版本為1.b.49 。
設計背景
隨著指令碼語言所颳起的開發熱潮,Java在Web開發領域逐漸露出疲態,而Java被“指令碼小子”詬病最多的便是低下的開發效率。從本質上來說,Java語言本身為程式設計師提供的幫助只有兩點,一是語言的語法,二是內建的類庫。
現在從事Web開發,大多是採用第三方的類庫(或者說是框架),比如流行的SSH。 所謂Java在Web開發的低效,不妨這樣說比較貼切一些:採用第三方類庫進行開發比較低效。為此,開發者zozoh開發了這一旨在提高Web開發人員的生產力的Nutz框架。
Nutz可以做什麼?
Nutz的所有的功能均不依賴第三方jar包。
- Dao:針對JDBC的薄封裝,事務模板,無快取
- Ioc:JSON 風格的配置檔案,宣告時切片支援
- Mvc:註解風格的配置,內建多檔案上傳功能
- Json:解析和渲染
- Castors:Java物件型別轉換
- Lang: 更簡潔的Java函式以及更豐富的反射支援
- Aop: 輕便快速的切面程式設計支援
- Plugin:輕便的外掛機制
- Resource:資源掃描
Nutz為誰而設計?
- 如果你覺得Hibernate控制比較繁瑣,iBatis編寫SQL又比較麻煩,Nutz.Dao專為你設計。
- 如果你覺得在多個伺服器部署或者修改Spring配置檔案很麻煩,Nutz.Ioc專為你設計
- 如果你覺得直接寫XML配置檔案很麻煩,視覺化編輯器又沒控制感,Nutz.Mvc專為你設計
- 如果你覺得JSON轉換很麻煩(要寫超過一行以上的程式碼),Nutz.Json專為你設計
- 如果你覺得Java語法不如Ruby便捷, Nutz.Castor以及Nutz.Lang專為你設計
- 如果你以前根本沒接觸過SSH ,只使用JDBC程式設計, 整個Nutz專門為你設計
同傳統的SSH相比,它所具備的特點:
- 輕:當前最新版,整個jar檔案共950k
- 薄: 針對JDBC的薄封裝,無快取
- 全:提供了 Dao (ORM, SQL 管理),Ioc, Aop, Mvc, Json解析等必要功能
- 活:各個部分可以獨立使用,比如在Spring裡採用Nutz.Dao ,又比如在Nutz.Ioc裡使用 Hibernate等
- 整:它所有功能均不依賴第三方jar檔案。
如果一個Web應用,你在WEB-INF/lib下只需要放置一個nutz.jar就夠了。