JavaEE 參考示例 SpringSide 作者江南白衣專訪 – JAVA編程語言程序開發技術文章

SpringSide是以Spring Framework為核心的,Pragmatic風格的JavaEE應用參考示例,是JavaEE世界中的主流技術選型,最佳實踐的總結與演示。目前SpringSide的最新版本為4.0 GA。

 本期我們專訪瞭SpringSide的作者江南白衣(肖樺),請他來詳細談談這個優秀的開源項目。

歡迎大傢推薦更多開源項目給我們,支持中國的開源項目發展,如果您和您的團隊希望展示創業理念和有趣之處,或者有朋友正在創造這樣的價值,請聯系我們,發信到blog@csdn.com即可。

先做個自我介紹吧!

肖樺,網名江南白衣,"花錢的年華"博主。曾是千禧年互聯網創業者,失敗的那種。現在是愛立信裡一個依然在磨練Craftsmanship的Coding Architect。

 

SpringSide是什麼?為什麼要發起這個項目?

SpringSide是以Spring Framework為核心的,Pragmatic風格的JavaEE應用參考示例,是Java世界中的主流技術選型,最佳實踐的總結與演示。因為基於Spring也因為對Spring理念的認同,項目起名SpringSide,另外還有個好記的中文名字——“春天的旁邊”。

想起做這個項目,是在六七年前元旦輾轉反側的夜晚,想著自己應該為世界留下點什麼。寫一本書還是做一個開源項目呢? 總感覺書印出來瞭就沒法改瞭,對我這種完美主義者有點難受。而開源項目,就可以永遠年輕,永遠生長,永遠重構……

然後,做什麼項目呢?那時候,淘寶們還沒有開始大規模開源自己的技術。國內的原創框架更多是在自娛自樂。所以SprinSide選瞭一條更低端的路線,將那時候已經太多而不是太少的開源項目粘合在一起,用好,也算是一樁功德瞭。

SpringSide包含哪些演示項目? 這些項目采用或演示瞭哪些技術?

SpringSide裡含有QuickStart 與 Showcase 一小一大兩個示例項目。

QuickStart是一個迷你的TodoList應用,濃縮瞭一個普通JavaEE應用所需的柴米油鹽各種基礎技術,從典型的CRUD界面,到趕時髦的Rest API,以及最基礎的用戶管理功能,可以作為很多項目的初始骨架。

Showcase 則一個五花八門的JavaEE技術大雜燴大派對,如安全、緩存、日志、消息中間件、定時任務等等等等。

SpringSide 4和之前版本相比,有哪些較大改進?

SSH 與 SSH2 發展到高潮後,Spring也進入瞭一個後Spring的時代,受到各種新興語言與框架如Play! Framework的圍攻。SpringSide 4,演示的就是這個後Spring時代的演進,如何使得avaEE依然是個體面的選擇。

一些變動包括 DAO框架轉用Spring Data JPA + Hibernate, MVC框架轉用Spring MVC 3, Restful框架轉用Spring MVC + Spring RestTemplate, CSS框架轉用Twitter Bootstrap,安全框架轉用Apache Shiro 等等,Selenium升級到WebDriver。

所有變動的目標,都是在代碼越來越簡單的同時,也保持對工業化大規模開發的支持。比如有些新興語言框架,高手自己可以寫得很快,但不一定適合很多普通程序員一起合作開發與維護。所以有些過度簡化的演進,比如完全拋棄XML純用Annotation的ApplicationContext定義方式,SpringSide並沒有使用。

如何基於SpringSide創建新的項目?

SpringSide也是利用Maven的Archetype插件來創建新項目的,在每次版本發佈時都會把前面所說的QuickStart項目打包成一個模板項目。用戶隻要用標準的maven archetype指令,就可以基於QuickStart項目生成自己的項目。

SpringSide采用什麼開源協議?對商用有什麼限制?

用的是所知最開放的Apache License2,任何的Copy&Paste都是歡迎的。如果有哪個更開放的告訴我吧,因為實在對靠開源賺錢沒有過任何想法。

有沒有其他開發者參與貢獻?

4.0這個大版本暫時隻有我一個在主導。不過github真的是一個非常社交化的開源平臺,沒有瞭sourceforge、google code那種固定的開發團隊的概念。現在誰都可以闖進SpringSide來,改它幾行代碼,然後向我發起一個Pull Request就可以瞭。題外話,像Nutz那樣精細的貢獻者記錄,真是值得表揚又讓人羨慕的事情。

SpringSide的發佈周期?未來的發展方向?

項目堅持瞭六七年,四個大版本,期間服務器遷徙數次,也有過多次跳票的不良記錄。所以很難說出一個固定的發佈周期來。最近自己比較希望能做到與白天的項目一樣,固定三周一個的迭代,但也並不總能如願。希望大傢能相信我的人品,項目或遲或早,總是會發佈的……

至於未來的發展方向,一方面會繼續做細JavaEE普通應用的演示,使它與一般的玩具型演示項目有更顯眼的區別。一方面會展示更多互聯網項目的新潮技術,如NoSQL、ZooKeeper等,畢竟這看起來更有趣。

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *