Hasor4.1.0发布轻量级开发框架 稳定性大幅提升

前言

Hasor 是一款基于 Java 语言的应用程序开发框架,它的核心设计目标是提供一个简单、切必要的环境给开发者。开发者可以在此基础上,通过 Hasor 强有力的粘合机制,构建出更加完善的应用场景。同时 Hasor 的各种内置插件也会帮助开发者进行快速开发。

「开源资讯」轻量级开发框架 Hasor 4.1.0 发布,稳定性大幅提升

特性

  • 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. 体积小,无第三方依赖

4.1.0 发布内容

1、稳定性提升,core\web\db\dataql\tconsole 这些组件的单测覆盖率大幅提升

「开源资讯」轻量级开发框架 Hasor 4.1.0 发布,稳定性大幅提升

2、hasor-core 开始全面兼容 jsr332 向标准靠齐

3、另外这次新增了 tConsole 和 DataQL 两个子框架。

4、最后新增了 all-in-one 包,只需要依赖一个 jar 包。就可以实现 hasor 全系引入。

Commons

  • 修复 ResourcesUtils 和 ScanClassPath,IO 文件句柄泄露问题。
  • BasicFuture 的 callback,当没有实现CancellFutureCallback的时候时候,会触发failed。
  • DataQL 中的 InterBeanMap 更名为 BeanMap 移到 commons 中。
  • DB 中的 LinkedCaseInsensitiveMap 移到 commons 中。

Core

  • 改造 hasor.core 全面支持 JSR-330。
  • 全新的 SPI 能力。
  • 单测覆盖率达到 90%,修复若干潜在的问题。
  • 主 namespace ‘http://project.hasor.net/hasor/schema/main’ 统一改为 ‘http://www.hasor.net/sechma/main’
  • @InjectSettings 注解增加,命名空间支持。
  • 默认配置文件名 hasor-config.xml 改为 hconfig.xml、不在提供环境参数属性文件的机制。
  • 其它大量接口上和内部执行机制的优化

Web

  • 单测覆盖率达到 90%,修复若干潜在的问题。
  • hasor-env-properties 参数不在有效。
  • @Produces 注解行为变化为不在影响使用哪个渲染器,而是负责指明使用什么类型作为 response 的 ContentType。
  • j2ee Servlet 会被转换成 MappingTo 运行。j2ee Filter 会被转换成 InvokerFilter 运行。
  • 新增 OneConfig 汇总了FilterConfig, ServletConfig, InvokerConfig 三个接口的实现。
  • ListenerPipeline 不在需要,取而代之使用 SPI 机制来替代。
  • RenderInvoker 接口不在提供 lockViewType 相关方法。
  • MimeType 接口在获取 mimeType 信息时改为优先框架内的数据,如果框架内数据招不到在到 context 上查找。

DB

  • mybatis 插件回归 hasor-db

tConsole

  • 重构,对于多行输入支持用户自定义命令结符号or字符串。重构后单测覆盖率达到 90%。
  • 支持 server 模式通过 Socket 端口运行
  • 支持 基于标准输入输出流运行
  • hasor-boot 能力被完完全全整合,因此 Hasor 将不在提供 hasor-boot。

DataQL

  • 重构,放弃 javacc 更换成 antlr4。antlr4 更加智能。AST 模型仍然不变。重构后单测覆盖率达到 90%。
  • DataQL 大量新语法新特性。具体参看语法参考手册。一些老的语法形式也不在支持,因此 DataQL 的语法和以前有明显变化。
  • 运行时内存模型:确定为 两栈一堆
  • 指令集系统:不在需要 ASM、ASA、ASO 三个指令,取而代之的是更严谨的指令集。
  • SDK:函数包能力
  • DataModel数据模型:增加 unwrap 方法,用来解开 DataModel 包裹
  • 新增 Fragment 机制允许 DataQL 执行外部非 DataQL 语法的代码片段。
  • BeanContainer 改为 Finder,删掉 UdfSource、UdfManager、UdfResult 不在需要这些概念。
  • 原有 dql test case 语句文件统一转移到 _old 目录下面备用。

RSF

  • rsf 使用 tconsole 的新接口
  • 注册中心暂不可用,下几个版本会重新设计。
  • rsf 的 InterAddress 支持域名传入,但是toString 的时仍然会转换为 ip。

其它

  • 删除 Hasor 默认提供的 JFinal 插件支持。理由是 JFinal 功能和 Hasor 体系重叠,同时 Hasor 的所有功能都是独立。
  • 整合 Hasor 及其容易因此没有提供集成代码的必要。
  • 新增 Hasor-all 包。

发展状况

Hasor起源于2012年,当时作为<新东方教育科技集团> 研发中心下各项目的基础手脚架。

2015年7月3日,1.0.0版本发布。确立了“微内核 插件”发展策略。

2016年8月18日,2.4.3版本发布,同时开始孕育全新的子项目 RSF。由此 Hasor 开始向分布式领域发展。

2017年2月21日,RSF 被并入 Hasor 体系,同年 DataQL 问世。

2020年2月21日,4.0.7 最稳定的版本问世。这个版本中几乎所有功的代码都被重新 Review 并重新评估每个模块的设计是否需要更新。

总结

这个框架也是最近刚刚发现的,搜集了一下相关信息分享给大家。查了一些资料,技术社区在16年之后基本不太活跃了,要使用的小伙伴要做好技术调研。Java 主流的框架还是基于Spring的SpringBoot/SpringCloud 体系。

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/share/13681.html

发表评论

登录后才能评论