Hasor 2.2.0 正式發布,完美與Spring整合

jopen 8年前發布 | 13K 次閱讀

===== 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 的目標。

架構

Hasor 2.2.0 正式發布,完美與Spring整合

 

來自: http://www.oschina.net//news/70982/hasor-2-2-0

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!