開源的高性能 0 依賴的JAVA基礎開發框架SPARROW

麻雀雖小,但五臟俱全

sparrow 源自中國俗語 麻雀雖小,但五臟俱全,努力打造一個全新的低耦合,0依賴的高性能java 開發基礎框架。 這個框架我從11年開始寫,中間重構了n遍,最原始的代碼可能都找不到了,之因此堅持寫,最初並非想造新輪子。 主要是從中學習基礎原理。 通過近十年的打磨,發現有些設計思想和理念,是值得學習的。好比spring mvc 的設計模式,orm ico 等等。 雖然不少朋友們都瞭解,但要真正本身實現起來也並非那麼容易。而這個過程對原來的深刻理解是很幫助,因此將這部分開源出來, 供有一樣需求的朋友參考。在此過程當中也發現了現有框架的一些弊端,好比沒有一個跨數據源的orm。全部項目都須要依賴spring 才能跑起來, 使咱們的業務依賴不少jar,而大部分的jar包多是不須要的,代碼變得臃腫,維護困難。 爲此基於oop的基本思想,構建一層api,最大化的解耦。java

框架特色

  • 相信程序員

經過對原理有了更深刻的瞭解,對寫程序來說會更簡單,高效,不少框架之因此很重,很重要的一個緣由是不相信程序員,這個框架從jdk出發,儘可能不依賴第三方jar 包,讓程序能跑起來,讓程序更快。git

  • 從0開始

人腦思惟是發散的,若是中間某個知識點斷掉,可能就會產生知識盲點,這個盲點可能產生的影響很大的,尤爲是技術更象是一層窗戶紙,捅破了,簡單,捅不破,如隔山。 因此咱們從0開始,讓知識連貫起來,消除盲點,不僅讓程序變得高效,更讓程序員變得高效。程序員

  • 0依賴

框架實現最簡單的,最核心的功能,儘可能不依賴任何框架,包括spring。github

  • 解耦/隔離

sparrow模塊 只定義了一些接口,具體實如今其餘的模塊中,是否依賴由業務端決定,最大化解耦。spring

  • 擴展

遵循開閉原則,對業務提供擴展點。shell

項目架構及遠期規劃

架構中大部分功能已具基本的使用框架,但還須要進一步完善和優化,具體內容可查看架構詳細介紹設計模式

jedis和rocket mq 客戶端已具有基本的生產環境使用條件api

其它模塊還需進一步完善,歡迎有興趣的小夥伴,一塊兒加入 email:zh_harry#163.com架構

image

架構詳細介紹 https://www.jianshu.com/p/74122495a463mvc

start

  • 下載項目管理殼子,經過該項目能夠下載sparrow因此子項目 git@github.com:sparrowzoo/sparrow-shell.git 具體操做見該項目 readme.md

  • style 目錄爲codestyle 和checkstyle 及copyright 相關配置文件,朋友們可自行配置.

  • 編譯sparrow-super 項目 該項目包括sparrow 全部依賴的jar,共用配置文件及sparrow 子項子的全局版本號,目前全部尚未上傳至maven 倉庫,感興趣的朋友能夠fork版本自行控制,待代碼穩定後逐步上傳至maven倉庫共享。 maven編譯命令 cd sparrow/sparrow-super mvn clean install -U -Dmaven.test.skip

  • 回到父項目根目錄cd .. 編譯全局項目,如令如上

  • sparrow 爲保持代碼整潔,全部的test 項目單獨由一個sparrow-test 項目管理,該項目已有部分功能經過test case,朋友們能夠下載瞭解sparrow 運行 測試用例 https://github.com/sparrowzoo/sparrow-test case 逐步完善中...

  • 後緒重點會開發orm(跨數據源 db elastic search hbase) 和mvc兩大重要模塊,敬請期待...

咱們的願景和將來

讓程序員脫離spring, 也能寫代碼,並且更快,更優雅

相關文章
相關標籤/搜索