Hasor 2.2.0 正式發布,完美與Spring整合
===== Hasor-Core v2.2.0 (2016-2-23)
* 新增:
01.增加Event事件注冊插件,簡化事件的注冊機制。
02.Settings接口增加 addSetting方法和clearSetting方法用來增加和刪除配置項。
03.新增Spring插件,完美與Spring整合。同時支持與Spring的雙向事件通知。
- 支持Hasor的Bean通過Spring獲取、支持SpringBean通過Hasor獲取。
- 支持Hasor的事件,通過Spring方式接收、支持Spring的事件,通過Hasor方式接收。
* 改進:
01.改進事物管理器的攔截器注冊機制,從攔截所有類改為只攔截標記了@Transactional注解的方法。
02.ResourceModule插件的實現機制從 Servlet 改為Filter,當資源無法通過插件獲取時候,轉交給servlet容器。原有方案是直接拋出404。
03.RestfulModule插件的實現機制從 Servlet 改為Filter,可以通過WebController類中renderTo方法指定具體要渲染的模版,模版渲染更加靈活。
04.RestfulModule插件的實現機制從 Servlet 改為Filter,支持ContextMap中setViewName方法來指定渲染的模版。
05.環境變量,WOR_HOME 從 USER.DIR 更換到 USER.HOME。原因是,USER.DIR 工作目錄獲取并不是想象的那樣始終是在程序位置。
06.SaxXmlParser類優化,在處理配置項沖突時,升級為保留全部配置。原有邏輯為合并覆蓋。
07.Event接口在傳入參數時不再使用“Object[]”方式,改為范型T,這樣做簡化了開發者在使用事件機制時各種類型轉換的麻煩,從而減少錯誤的概率。
-----------
本次更新重點是加入了對Spring的整合支持,下面是引入Hasor 之后的Spring 配置。
何時使用Hasor的Spring整合?
在IoC和Aop的角度,Spring和Hasor 都是一套完善的解決方案,您只需要選擇一個解決方案即可,只有當您正在使用Spring,或者正在使用Hasor時。需要整合對方的技術情況下才會涉及到Spring Hasor 整合。
例如,在Hasor下使用 Spring MVC。 或者是在 Spring 下使用 RSF(RSF是基于Hasor 參照淘寶 HSF 實現的一套高性能 RPC 框架)。
下面是在Spring中配置Hasor的配置信息(詳細例子參見:Demo)。
Spring中使用Hasor 方式一,讓Hasor加載來自Spring中配置的Module <bean id="startWith" class="net.test.hasor.spring.SpringTestModule"></bean> <h:hasor factoryID="hasor" startWithRef="startWith" /> 方式二,簡化配置 <h:hasor factoryID="hasor" startWith="net.test.hasor.spring.SpringTestModule" /> 將Hasor中的Bean導出到Spring中 <h:bean id="helloString" refID="helloString" hasorID="hasor" /> <h:bean id="helloString" refType="net.test.hasor.spring.bean.HasorBean" hasorID="hasor" /> <h:bean id="helloString" refType="" refName="" hasorID="hasor"
-----------
Hasor 是一款基于 Java 語言的應用程序開發框架,它的核心設計目標是提供一個簡單、切必要的環境給開發者。開發者可以在此基礎上,通過 Hasor 強有力的粘合機制,構建出更加完善的應用場景。同時 Hasor 的各種內置插件也會幫助開發者進行快速開發。
設計思想
Hasor 提倡開發者充分利用編程語言的優勢進行三方整合和模塊化設計。同時 Hasor 也主要是通過這種“微內核+插件”的方式豐富開發所需的所有功能。
決定避開 COC 原則的原因是,COC 雖然已約定的方式降低了整個框架的設計復雜度,但同時也最大限度的犧牲了框架的靈活性。缺少靈活性的框架在應用場景上會受到極大的制約。而 Hasor 的設計則更加面向底層,因此需要更多的靈活性。
Hasor 強大的靈活性表現在模塊整合能力上,對于某一個領域開發方面 Hasor 依然強調并力推 COC 。小而美的核心,大而全的生態圈是 Hasor 的目標。
架構
來自: http://www.oschina.net//news/70982/hasor-2-2-0