Hasor開發(fā)手冊


閱讀(169.9k) 收藏 (1)

手冊簡介

Hasor是一套基于 Java 語言的分布式應(yīng)用程序開發(fā)框架,它的核心設(shè)計(jì)目標(biāo)是提供一個(gè)簡單、且必要的環(huán)境給開發(fā)者。區(qū)別于其它框架的是 Hasor 有著自己一套完整的體系,無論您是一般的Web項(xiàng)目,還是幾百人團(tuán)隊(duì)中復(fù)雜的分布式系統(tǒng)。Hasor都會(huì)給予你最有力的支持。

手冊說明

Hasor 是一款基于 Java  語言的應(yīng)用程序開發(fā)框架,它的核心設(shè)計(jì)目標(biāo)是提供一個(gè)簡單、且必要的環(huán)境給開發(fā)者。開發(fā)者可以在此基礎(chǔ)上,通過 Hasor 強(qiáng)有力的粘合機(jī)制,構(gòu)建出更加完善的應(yīng)用場景。同時(shí) Hasor 的各種內(nèi)置插件也會(huì)幫助開發(fā)者進(jìn)行快速開發(fā)。而所有內(nèi)置插件,在初始化的時(shí)都做了智能加載,只有用到了它們才會(huì)被加載到框架中。否則這些內(nèi)置插件在初始化期間就會(huì)放棄加載自己。基于目前 Hasor 內(nèi)核上已經(jīng)發(fā)展出 DB、Web、Restful 三大基礎(chǔ)框架。


設(shè)計(jì)思想


Hasor 提倡開發(fā)者充分利用編程語言的優(yōu)勢進(jìn)行三方整合和模塊化設(shè)計(jì)。同時(shí) Hasor 也主要是通過這種“ 微內(nèi)核+插件 ”的方式豐富開發(fā)所需的所有功能。


決定避開 COC 原則的原因是, COC 雖然已約定的方式降低了整個(gè)框架的設(shè)計(jì)復(fù)雜度,但同時(shí)也最大限度的犧牲了框架的靈活性。缺少靈活性的框架在應(yīng)用場景上會(huì)受到極大的制約。而 Hasor 的設(shè)計(jì)則更加面向底層,因此需要更多的靈活性。

Hasor 強(qiáng)大的靈活性表現(xiàn)在模塊整合能力上,對(duì)于某一個(gè)領(lǐng)域開發(fā)方面 Hasor 依然強(qiáng)調(diào)并力推 COC 。小而美的核心,大而全的生態(tài)圈是 Hasor 的目標(biāo)。


架構(gòu)



Hasor開發(fā)手冊 架構(gòu)


特性


  • 01. IoC/Aop編程模型,設(shè)計(jì)精巧,使用簡單。
  • 02. COC原則的最佳實(shí)踐,‘零’配置文件。
  • 03. 微內(nèi)核 + 擴(kuò)展,基于內(nèi)核已發(fā)展出 DB、Web、Restful 三大獨(dú)立的基礎(chǔ)框架。
  • 04. 真正的零開發(fā),解析項(xiàng)目特有的自定義 Xml 配置。
  • 05. 支持模板化配置文件,程序打包之后一套配置通吃(日常、預(yù)發(fā)、線上)以及其它各種環(huán)境。
  • 06. 完備的 JDBC 操作接口,支持 Result -> Object 映射。
  • 07. 提供三種途徑控制事務(wù),支持七種事務(wù)傳播屬性,標(biāo)準(zhǔn)的事務(wù)隔離級(jí)別。
  • 08. 支持多數(shù)據(jù)源、及多數(shù)據(jù)源下的事務(wù)控制(非JPA)。
  • 09. 內(nèi)置事件機(jī)制,方便進(jìn)行業(yè)務(wù)深度解耦,使業(yè)務(wù)邏輯更佳清晰。
  • 10. 支持 Web 類型項(xiàng)目開發(fā),提供 restful 風(fēng)格的 mvc 開發(fā)方式。
  • 11. 支持Form表單驗(yàn)證、支持場景化驗(yàn)證。
  • 12. 提供開放的模版渲染接口,支持各種類型的模版引擎。
  • 13. 提供豐富的工具箱,幫助您快速開發(fā),有了它您甚至不需要 apache-commons。
  • 14. 支持log4j、logback等多種主流日志框架。
  • 15. 體積小,無第三方依賴。


發(fā)展?fàn)顩r


Hasor 起源于2012年,并在2013年初具雛形。當(dāng)時(shí)尚未開源,并被應(yīng)用到公司個(gè)大項(xiàng)目中。那個(gè)時(shí)候 Hasor 還是基于Guice構(gòu)建,并且整合了Spring JDBC、Guice Servlet等大量三方框架。還有少量自建功能,例如:WebMVC。當(dāng)時(shí)整個(gè)框架還未從軟件產(chǎn)品中完全剝離出來,其中最基本的要素經(jīng)過打包會(huì)產(chǎn)生約 130MB的 JAR包依賴。與目前相比顯得無比臃腫。


隨后2013年開始,通過對(duì)整套框架的重新梳理。 Hasor 才得以從項(xiàng)目中脫離出來成為獨(dú)立的框架,依賴也隨時(shí)聚減。同年開始計(jì)劃開源版本的實(shí)現(xiàn),也就是如今的 Hasor 。


2013年9月15日,0.0.1版本,第一個(gè)版本被推送到Maven中央倉庫, Hasor 的雛形被確立,Module化的插件概念被提出,依賴減少到只有Guice和slf4j。


2014年7月26日,0.0.9版本被推送到Maven中央倉庫。經(jīng)歷多個(gè)版本迭代最后一個(gè)核心依賴Guice也被去除。而此時(shí) Hasor 已經(jīng)擁有了Web、JDBC、和完整的數(shù)據(jù)庫事務(wù)能力。在這個(gè)階段中 Hasor 曾經(jīng)在Guice、Spring之間搖擺不定,也對(duì)未來的路線和定位發(fā)生過幾次重大的改變。

2015年7月3日,1.0.0版本發(fā)布,這是一個(gè)里程碑。首先 1.0 開始 Hasor 許多零碎的項(xiàng)目合并到了一起(all-in行動(dòng)),同時(shí) Hasor 的發(fā)展方向和目標(biāo)也更加明確。同年11月27日,2.0版本發(fā)布。 Hasor 確立了“小而美的核心,大而全的生態(tài)圈”的目標(biāo)。


2016年8月18日,2.4.3版本,經(jīng)過持續(xù)的沉淀、整合、優(yōu)化。 Hasor 越來越穩(wěn)定可靠,基于2.4版本 Hasor 開始孕育全新的子項(xiàng)目  Hasor-RSF (分布式RPC)。


相關(guān)資源



在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)