发布于 2016-04-07 03:47:51 | 144 次阅读 | 评论: 0 | 来源: 网友投递
Hasor Java开源框架
Hasor是一款开源框架。它是为了解决企业模块化开发中复杂性而创建的。Hasor遵循简单的依赖、单一职责,在开发多模块企业项目中更加有调理。然而Hasor的用途不仅仅限于多模块项目开发。从简单性、松耦合性的角度而言,任何Java应用都可以从中受益。Hasor与Struts,Hibernate等单层框架不同,它可以提供一个以统一、高效的、友好的方式构造整个应用程序。并且可以将这些单层框架建立起一个连贯的体系,可以说Hasor是一个搭建开发环境的框架。Hasor包含多个可选的子模块
Hasor 2.3.0 正式发布。
* 新增:
01.新增“.hasor.default.asEagerSingleton”配置用来配置默认情况下,类型是以单例模式运行还是以原型方式运行。(默认单例模式)
02.ApiBinder接口新增“asEagerPrototype”方法用来强制以原型方式注册。到目前为止可以选择的方式有:“asEagerSingleton”、“asEagerPrototype”
03.新增注解配置:@Singleton、@Prototype
04.单例类如果配置了@Init注解,则在注册到Hasor容器时,会在容器启动的第一时间自动调用init方法以完成对象初始化功能。
- 这个特性类似Spring配置文件中 init属性的功能。
05.Hasor启动类新增传入File参数方式指定配置文件。
* 改进:
01.容器在启动时增加EventContext类型的绑定,开发的时候可以直接通过依赖注入或者appContext.getInstance(EventContext.class)方式的到。
02.Event插件在接收到事件响应时,需要一直等待AppContext对象被注入进来。原有逻辑是等待10秒注入AppContext对象。
03.优化EventModule启动时间。
04.事件处理线程命名。
05.改进环境变量处理方式,凡是Hasor中定义的环境变量其优先级都高于系统环境变量。这意味着,定义相同名称的环境变量Hasor中配置会覆盖系统的配置。
Hasor 是一款基于 Java 语言的应用程序开发框架,它的核心设计目标是提供一个简单、切必要的环境给开发者。开发者可以在此基础上,通过 Hasor 强有力的粘合机制,构建出更加完善的应用场景。同时 Hasor 的各种内置插件也会帮助开发者进行快速开发。
设计思想
Hasor 提倡开发者充分利用编程语言的优势进行三方整合和模块化设计。同时 Hasor 也主要是通过这种“微内核+插件”的方式丰富开发所需的所有功能。
决定避开 COC 原则的原因是,COC 虽然已约定的方式降低了整个框架的设计复杂度,但同时也最大限度的牺牲了框架的灵活性。缺少灵活性的框架在应用场景上会受到极大的制约。而 Hasor 的设计则更加面向底层,因此需要更多的灵活性。
Hasor 强大的灵活性表现在模块整合能力上,对于某一个领域开发方面 Hasor 依然强调并力推 COC 。小而美的核心,大而全的生态圈是 Hasor 的目标。
架构