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 的目标。
架构