Hasor(应用开发框架)
v4.2.2 官方版- 软件大小:3.36 MB
- 更新日期:2021-01-26 11:36
- 软件语言:简体中文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
Hasor提供软件开发功能,可以借助该框架快速部署应用程序,为用户提供更专业的应用程序部署方案,软件主要提供loc/Aop容器框架、Web开发框架、JDBC数据库访问框架、DataQL聚合查询引擎、RSF分布式RPC框架、tConsole
CLI框架、Spring整合框架,无论是构建小型的应用程序还是开发大型的系统平台都可以使用这款软件部署相关的功能模块,v4版本也增加和修复了很多内容,新增一个开源,Parameters中结构化的参数可以包装为一个整体,修复
字符串加法计算特定场景下抛异常,修复Dataway 生成的 Swagger api文档,在容器中用 swagger 访问失败,去掉了 DataQL
的环境隔离能力,如果你需要这款软件就下载吧!
功能模块
1、Core 具备 Aop 并兼容 JSR-330 的Bean容器框架
支持IoC、Aop的Bean容器。
Module + ApiBinder 统一的插件入口。
无需开发读取自定义xml配置文件。
支持 JSR-330
2、Web 轻量化 Web MVC 框架
提供 RESTful 风格的 mvc 开发方式。
提供请求验证接口、验证支持场景化。
模版渲染接口,支持各种类型的模版引擎。
内置文件上传组件,无需引入任何jar包。
3、提供了JDBC操作和完整事务管理能力
提供 JDBC 操作接口 90% 兼容 SpringJDBC。
与 Spring 一样,提供七种事务传播属性的控制。
支持多种事务控制方式包括:手动事务控制、注解式声明事务、TransactionTemplate模板事务。
支持多数据源(不支持分布式事务)
4、tConsole 专注基于 Telnet 命令行交互框架
支持监听本地端口提供 Telnet 交互的界面。
支持基于标准输入输出构建交互控制台的能力。
利用 tConsole 可以轻松构建命令工具包。
5、RSF 分布式 RPC 服务框架
支持容灾、负载均衡、集群;
支持动态发布、卸载
支持服务分组、分版本
多种调用方式:点对点、分布式轮询、泛化调用、同步、异步、回调、接口代理。
支持虚拟机房、隐式传参、服务路由、Telnet 等高级功能。
6、DataQL 服务聚合查询引擎
层次结构:产出具有数据的层次结构的查询结果。
弱类型:不要求声明任何形式的类型结构。
轻逻辑:表达式、取值、条件分支、lambda和函数。
编译运行:查询的执行是基于编译结果的。
扩展代码片段:DataQL 查询中混合其它语言的语句。
软件特色
面向生产环境而设计的 Java 应用开发框架。
它的核心设计目标是提供一个简单的交互接口给开发者
开发者可以在此基础上灵活的构建自己的应用程序。
无论是应用类程序还是框架类工具 Hasor 都会给予最有力的支持
区别于其它框架的是 Hasor 有着自己一套完整的扩展体系。
无论您是一般的应用工程,还是开发工具框架类项目。Hasor都会是一个强有力的基石。
使用说明
01. 基于 Spring Boot
用法
在 Spring Boot 中只需要一个 @EnableHasor 注解即可在 Spring 中开启 Hasor 的支持。
然后新建一个 Hasor 的 Module 并将其用 Spring 管理起来,同时通过 @DimModule 注解标记声明它即可。
最后启动 Spring Boot 项目看到 HasorBoot 的欢迎信息就表示一切都 OK了。
共享 Spring 配置
Hasor 在启动之后会将 Spring 加载的属性文件全部作为 Hasor 的环境变量,例如:application.properties 文件。
Hasor 会自动将 Spring 的属性文件导入到环境变量中若想要进一步在 Settings 中使用 Spring 的属性文件可以通过配置 @EnableHasor(useProperties = true) 进一步的将环境变量导入到 Settings。
@EnableHasor 注解
提示
EnableHasor 注解是 Spring Boot 启动 Hasor 的根本,下面是这个注解的属性说明。
scanPackages
用来配置扫描 Module 的范围,一般情况下如果 Module 已经被 Spring 作为 Bean 托管之后就无需在配置扫描范围。scanPackages 的作用是,用来加载那些还未被 Spring 托管的 Module。 Hasor 在加载这些 Module 的时候会 new 它们。
mainConfig
虽然共享 Spring 的配置已经解决了大部分配置文件读取的问题,但有时候还是需要更高级的 hconfig.xml 配置文件。这个时候就可以通过这个属性来指定 Hasor 的 hconfig.xml。
useProperties
Hasor 在启动的时候会将 Spring Environment 中属性信息全部导入到 Hasor Environment 接口中。useProperties 属性的作用是告诉 Hasor ,是否将 Hasor Environment 接口信息进一步导入到 Settings 接口里。默认值为 false,表示不导入。
startWith
用来声明启动入口。如果配置的启动入口类已经在 Spring 中托管,那么就会通过 Spring 进行创建。否则就直接 new 出这个对象。
customProperties
这个属性的意义是可以设定一些特殊的属性K/V信息传递给 Hasor Environment 中。这些特别的属性配置只会在 Hasor 中存在,不会污染 Spring。
@EnableHasorWeb 注解
Hasor-Web 是一款和 Spring 无关的 WebMVC 框架。它的功能与 SpringMVC 是等价的,都是针对 JavaWeb 开发,同时都具备 Restful 能力。
而 @EnableHasorWeb 注解的功效就是在 SpringWeb 环境中启用 Hasor-Web 能力。
使用 Hasor-web 还需要引入对应的依赖:
这个注解有三个属性配置:
path
Hasor-Web 的全局拦截器配置的拦截路径,默认值是: /*
order
生效顺序,默认值是: 0 (仅在 Filter、Interceptor 模式下有效)
at
Hasor-web 在 Spring 中的工作模式,由 net.hasor.spring.boot.WorkAt 枚举定义。默认是:Filter
Filter:过滤器模式,以 web filter 的方式进行集成。
Controller:控制器模式,以 springwebmvc 的 Controller 方式进行集成。(4.2.2版本中加入,推荐使用)
02. 基于Spring配置文件
引入标签
在 Spring 配置文件中,首先需要引入 h:* 标签的命名空间信息。
启用Hasor
引入命名空间之后,启用 Hasor 只需要一个标签即可。
共享Spring配置
Hasor 在启动的时候会将 Spring Environment 中属性信息全部导入到 Hasor Environment 接口中。
useProperties 属性的作用是告诉 Hasor 是否将 Hasor Environment 接口信息进一步导入到 Settings 接口里。默认值为 false 表示不导入。
配置扫描范围
一般情况下如果 Module 标注过 @DimModule 注解并同时被 Spring 托管之后无需在配置扫描范围。但是有时候加载那些还未被 Spring 托管的 Module,但也标记了 @DimModule 的 Module 就可以用扫描范围。Hasor 在加载这些 Module 的时候会 new 它们。
指定 Hasor 的配置文件
虽然共享 Spring 的配置已经解决了大部分配置文件读取的问题,但有时候还是需要更高级的 hconfig.xml 配置文件。这个时候就可以通过这个属性来指定 Hasor 的 hconfig.xml。
启动入口
startWithRef 和 startWith 可以用来声明启动入口。两者不同的是,前者是应用 Spring 的其它 Bean;而后者是配置一个类名。
提示
startWithRef 和 startWith 为了保证属性含义,两者只有一个生效。startWithRef 优先。
加载更多 Module
使用 startWith 加载 Module 只能配置一个,如果有多个 Module 要加载就需要使用下面的办法。
使用 h:module 标签的好处是 Module 不需要有 @DimModule 的注解。
提示
startWithRef 和 startWith 只能配置一个 Module,而 h:loadModule 标签的方式可以配置多个。除此之外两者并无任何差别。
传递属性给 Hasor
Hasor 在启动的时候已经将 Spring Environment 中属性信息全部导入到 Hasor Environment 接口中。这里是说除了自动导入的这些属性之外其它的属性文件如何进行导入。
两种导入方式:
h:property 标签导入。
refProperties 属性导入。
引用Hasor的服务或Bean
通过 h:bean 标签可以在 Spring 中定义一个 Bean,同时这个 Bean 交由 Hasor 创建。
多Hasor环境
Xml 方式的优越性在于,可以在一个 Spring Xml 配置文件中启动多个 Hasor。
多环境下声明 Hasor Bean 需要指明 hasorID
Springmvc 整合 Hasor-Web
要想在基于 Xml 的 Spring 环境中启动 Hasor-Web,还需要在 web.xml 中配置对应的监听器
需要注意 SpringRuntimeListener 的配置顺序必须放到 org.springframework.web.context.ContextLoaderListener 后面,否则会报 “spring application context not initialize.” 异常。
更新日志
1、Dataway
新增登陆页面,Admin 页面不在裸奔了。开发者可以自己扩展登陆逻辑,包括页面也可以自定义。
Dataway 新增达梦数据库的脚本。
Dataway 调整 h2 数据库脚本格式。
DeleteController、DisableController 的能力在 DatawayService 接口上同时提供。
dataway 和 springboot 的样板工程优化。
Dataway 前后台的数据传输处理中不再强制使用 UTF-8,改为跟随环境。
服务器会跟随 response 的 characterEncoding。
浏览器会跟随 response 头 Content-Type 中的 charset 字段。
如果服务器未指定编码则使用默认的 ISO-8859-1
浏览器如果无法获取 charset 那么使用无参数的 TextDecoder 来解析传回来的二进制数据。
2、Hasor-DB 数据库访问框架
提供了一套和 MyBatis 一样的 TypeHandler,同时类型支持上比 MyBatis 更加完整。
全面支持 JDBC 4.2 各种数据类型
全面支持 Java8 中的各种时间类型
提供一套单表 ORM 能力。
单测覆盖率提升到 82%
增加对 存储过程 的支持。
JdbcTemplate 新增 lambda 能力,可以像 MybatisPlus 那样通过代码方式来生成查询语句。
JdbcTemplate 新增多 SQL 语句多返回值的获取。
JdbcAccessor 增加 dsApply 方式,可以控制 Connectiuon 如何从 DataSource 中获取。从而可以使用外部的事务管理器。
JdbcUtils.java 补充 presto 链接串
BeanPropertyRowMapper 也加入 CaseInsensitive 的处理。
hasor-db 不在直接提供 mybatis 的整合封装。
hasor-db 包下的 @Transactional 注解发生位置变化。
自动探测数据库类型增加对 impala 的识别。
ColumnMapRowMapper\ColumnMapResultSetExtractor 增加参数可以控制 caseInsensitive。
3、Uitls 工具包
StringUtils 工具增加 splitKeep 工具方法。
BeanUtils 工具 getField 方法实现中增加 getDeclaredFields 来源。
MethodUtils 工具增加 lambdaMethodName 工具方法,该方法需要配合 SFunction 接口。
ExceptionUtils、ResourcesUtils、StringUtils、IOUtils 新增一批工具方法。
hasor-core 中的 provider 包提升到 common 里。
StringUtils.fixedString 废弃删除,换成 StringUtils.repeat
修复 BeanUtils 源是对象,目标是Map 情况下一个类型转换异常。
ResourcesUtils ,对不同位置的资源提供加载能力。
4、其它优化
AppContext 实现了 Closeable 接口,最终调用 shutdown。
Hasor 类可以单独构建 Environment、Settings了。
net.hasor.core.Provider 接口功能更加丰富。
Hasor 的 SPI 机制兼容标准 Java SPI 机制。
TelContext 增加 getAppContext 方法。
BeanContainer 对于 final 修饰符的字段优化。
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文