Hasor开发手册


阅读(149.9k) 收藏 (1)

手册简介

Hasor是一套基于 Java 语言的分布式应用程序开发框架,它的核心设计目标是提供一个简单、且必要的环境给开发者。区别于其它框架的是 Hasor 有着自己一套完整的体系,无论您是一般的Web项目,还是几百人团队中复杂的分布式系统。Hasor都会给予你最有力的支持。

手册说明

Hasor 是一款基于 Java  语言的应用程序开发框架,它的核心设计目标是提供一个简单、且必要的环境给开发者。开发者可以在此基础上,通过 Hasor 强有力的粘合机制,构建出更加完善的应用场景。同时 Hasor 的各种内置插件也会帮助开发者进行快速开发。而所有内置插件,在初始化的时都做了智能加载,只有用到了它们才会被加载到框架中。否则这些内置插件在初始化期间就会放弃加载自己。基于目前 Hasor 内核上已经发展出 DB、Web、Restful 三大基础框架。


设计思想


Hasor 提倡开发者充分利用编程语言的优势进行三方整合和模块化设计。同时 Hasor 也主要是通过这种“ 微内核+插件 ”的方式丰富开发所需的所有功能。


决定避开 COC 原则的原因是, COC 虽然已约定的方式降低了整个框架的设计复杂度,但同时也最大限度的牺牲了框架的灵活性。缺少灵活性的框架在应用场景上会受到极大的制约。而 Hasor 的设计则更加面向底层,因此需要更多的灵活性。

Hasor 强大的灵活性表现在模块整合能力上,对于某一个领域开发方面 Hasor 依然强调并力推 COC 。小而美的核心,大而全的生态圈是 Hasor 的目标。


架构



Hasor开发手册 架构


特性


  • 01. IoC/Aop编程模型,设计精巧,使用简单。
  • 02. COC原则的最佳实践,‘零’配置文件。
  • 03. 微内核 + 扩展,基于内核已发展出 DB、Web、Restful 三大独立的基础框架。
  • 04. 真正的零开发,解析项目特有的自定义 Xml 配置。
  • 05. 支持模板化配置文件,程序打包之后一套配置通吃(日常、预发、线上)以及其它各种环境。
  • 06. 完备的 JDBC 操作接口,支持 Result -> Object 映射。
  • 07. 提供三种途径控制事务,支持七种事务传播属性,标准的事务隔离级别。
  • 08. 支持多数据源、及多数据源下的事务控制(非JPA)。
  • 09. 内置事件机制,方便进行业务深度解耦,使业务逻辑更佳清晰。
  • 10. 支持 Web 类型项目开发,提供 restful 风格的 mvc 开发方式。
  • 11. 支持Form表单验证、支持场景化验证。
  • 12. 提供开放的模版渲染接口,支持各种类型的模版引擎。
  • 13. 提供丰富的工具箱,帮助您快速开发,有了它您甚至不需要 apache-commons。
  • 14. 支持log4j、logback等多种主流日志框架。
  • 15. 体积小,无第三方依赖。


发展状况


Hasor 起源于2012年,并在2013年初具雏形。当时尚未开源,并被应用到公司个大项目中。那个时候 Hasor 还是基于Guice构建,并且整合了Spring JDBC、Guice Servlet等大量三方框架。还有少量自建功能,例如:WebMVC。当时整个框架还未从软件产品中完全剥离出来,其中最基本的要素经过打包会产生约 130MB的 JAR包依赖。与目前相比显得无比臃肿。


随后2013年开始,通过对整套框架的重新梳理。 Hasor 才得以从项目中脱离出来成为独立的框架,依赖也随时聚减。同年开始计划开源版本的实现,也就是如今的 Hasor 。


2013年9月15日,0.0.1版本,第一个版本被推送到Maven中央仓库, Hasor 的雏形被确立,Module化的插件概念被提出,依赖减少到只有Guice和slf4j。


2014年7月26日,0.0.9版本被推送到Maven中央仓库。经历多个版本迭代最后一个核心依赖Guice也被去除。而此时 Hasor 已经拥有了Web、JDBC、和完整的数据库事务能力。在这个阶段中 Hasor 曾经在Guice、Spring之间摇摆不定,也对未来的路线和定位发生过几次重大的改变。

2015年7月3日,1.0.0版本发布,这是一个里程碑。首先 1.0 开始 Hasor 许多零碎的项目合并到了一起(all-in行动),同时 Hasor 的发展方向和目标也更加明确。同年11月27日,2.0版本发布。 Hasor 确立了“小而美的核心,大而全的生态圈”的目标。


2016年8月18日,2.4.3版本,经过持续的沉淀、整合、优化。 Hasor 越来越稳定可靠,基于2.4版本 Hasor 开始孕育全新的子项目  Hasor-RSF (分布式RPC)。


相关资源



在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号