Hasor 2.2.0 正式发布,完美与Spring整合

jopen 9年前

===== 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