发布于 2014-07-26 16:18:17 | 143 次阅读 | 评论: 0 | 来源: 网友投递
Hasor Java开源框架
Hasor是一款开源框架。它是为了解决企业模块化开发中复杂性而创建的。Hasor遵循简单的依赖、单一职责,在开发多模块企业项目中更加有调理。然而Hasor的用途不仅仅限于多模块项目开发。从简单性、松耦合性的角度而言,任何Java应用都可以从中受益。Hasor与Struts,Hibernate等单层框架不同,它可以提供一个以统一、高效的、友好的方式构造整个应用程序。并且可以将这些单层框架建立起一个连贯的体系,可以说Hasor是一个搭建开发环境的框架。Hasor包含多个可选的子模块
概要:Hasor-0.0.8 版本中,包含了下列部分:
Hasor-Core v0.0.8
Hasor-Web v0.0.6
Hasor-DB v0.0.1
Hasor-Test v0.0.1
Core:这一版本是一个里程碑,从Hasor-0.0.8 开始将提供内置的Bind机制。该机制不直接依赖 Guice,预计0.0.9以后的版本会Hasor会与Guic完全分离。同时 Hasor 转型为Java轻量化基础开发框架。
Web:修正了大量Bug。
DB:前身是Hasor-JDBC项目,更名而来。Hasor-DB,对原有项目进行了大量重写,瘦身达到50%以上,更加轻量化。从DB 1.0.0 开始将提供完整的事务控制,和多数据源下的事务控制(非JPA)。
1.PROPAGATION_REQUIRED(加入已有事务)
尝试加入已经存在的事务中,如果没有则开启一个新的事务。
2.RROPAGATION_REQUIRES_NEW(独立事务)
挂起当前存在的事务,并开启一个全新的事务,新事务与已存在的事务之间彼此没有关系。
3.PROPAGATION_NESTED(嵌套事务)
在当前事务上开启一个子事务(Savepoint),如果递交主事务。那么连同子事务一同递交。如果递交子事务则保存点之前的所有事务都会被递交。
4.PROPAGATION_SUPPORTS(跟随环境)
是指 Spring 容器中如果当前没有事务存在,就以非事务方式执行;如果有,就使用当前事务。
5.PROPAGATION_NOT_SUPPORTED(非事务方式)
是指如果存在事务则将这个事务挂起,并使用新的数据库连接。新的数据库连接不使用事务。
6.PROPAGATION_NEVER(排除事务)
当存在事务时抛出异常,否则就已非事务方式运行。
7.PROPAGATION_MANDATORY(需要事务)
如果不存在事务就抛出异常,否则就已事务方式运行。
更新信息:
===== Hasor-Core v0.0.8
* 新增:
01.确立类型绑定机制。
02.确立Bean机制。
03.内置Aop接口,不再直接依赖Aop联盟的包。
04.支持Scope。
05.支持Provider。
06.AopMatchers类型新增subClassesOf方法。匹配给定类型的子类(或实现了的接口),迁移至Hasor-Quick项目。
* 改进:
01.Settings接口的 getNameSpace 方法改名为 getSetting。
02.AppContext接口的 findBean、findProvider 方法更名 findBindingBean、findBindingProvider
--使其接近ApiBinder接口中bindingType方法的命名以便于开发者理解。
03.所有Plugins都移动到Hasor-Quick项目中。
04.将Hasor中start、stop生命周期,相关的支持全部删除,不再支持插件生命周期。
05.所有主要接口50%以上进行改进,改进的目的是不再强制依赖Guice。
06.添加Provider接口、EventContext接口。
07.删除ModulePropxy类、删除启动依赖检查功能。
08.瘦身(去掉JSON包、Ognl包、其它一些工具包)。
===== Hasor-Web v0.0.6
* 新增:
01.新增WebApiBinder接口支持RegisterInfo方式绑定。
* 修复:
01.因 ModulePropxy 更名为 ModuleProxy所做的连带改动。
02.修复了JSTL 标签fireEvent无法正常工作的问题。
* 改进:
01.所有Plugins都移动到Hasor-Quick项目中。
02.所有主要接口50%以上进行改进,改进的目的是不再强制依赖Guice。
03.不再支持requestEncoding、responseEncoding设置,该功能将会改为插件实现。
===== Hasor-DB v0.0.1
* 改进:
01.DefaultDataSourceHelper 更名为 LocalDataSourceHelper。
02.LocalDataSourceHelper 支持每个线程绑定多个数据库连接。
03.瘦身 80% 以上。
04.对 SQL 异常不在封装。
05.Hasor-Jdbc v0.0.3 项目更名为 Hasor-DB v0.0.1。
06.增加事务管理器、事务拦截器
07.支持7种事务传播属性。
08.支持隔离级别设置。
09.支持多数据源。
10.支持多数据源事务控制(非JPA)
11.提供@Transactional简单的声明式事务注解。
12.开发者可以自定义事务拦截器,自定义注解拦截事务。
* 修复:
01.修复部分接口方法传入的参数不支持 ParameterDisposer 清理过程的问题。
02.修复批量SQL操作,因参数不同而导致的一些问题。
-例如:"select count(*) form XX where id in :ids"。传入的ids参数分别为 Object和 List两种类型。
03.修正大量Bug。
===== Hasor-Test v0.0.1
* 新增:
01.支持测试方法通过@TestOrder注解排序。
02.支持@DaemonThread 注解将一个方法作为后台线程启动。
03.支持@ContextConfiguration 注解配置AppContext。