1. 程式人生 > >Java專案中SSH框架的最佳替代品

Java專案中SSH框架的最佳替代品

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就夠了。