- 9.5. Release Hasor v0.x
- Hasor v0.0.14 (2015-06-18)
- Hasor v0.0.13 (2015-05-09)
- Hasor v0.0.12 (2015-05-09)
- Hasor v0.0.11 (2015-04-24)
- Hasor v0.0.10 (2015-04-03)
- Hasor v0.0.9 (2014-09-21)
- Hasor v0.0.8 (2014-07-26)
- Hasor v0.0.7 (2014-01-17)
- Hasor v0.0.6 (2013-12-21)
- Hasor v0.0.5 (2013-11-25)
- Hasor v0.0.4 (2013-11-11)
- Hasor v0.0.3 (2013-10-09)
- Hasor v0.0.2 (2013-09-29)
- Hasor v0.0.1 (2013-09-15)
9.5. Release Hasor v0.x
Hasor v0.0.14 (2015-06-18)
- 新增
- Settings接口增加merageXmlNode方法用于汇聚XmlNode。
改进
JdbcTemplate 类中的公共方法分离出一个新的基类JdbcConnection。
Result - 添加Message消息传输机制。
放弃Hasor-AR项目,删除AR相关的软件包,目前为止Hasor-DB原生不支持ORM。后续扩展可以支持Hibernate,ibatis,mybatis。
保留Hasor-AR项目中,PageResult、Paginator两个工具类
修复
Fix 日志输出了格式化字符。
Fix 多配置文件时候,主配置文件失效问题。
Fix 相同模块在不同的“static-config.xml”配置文件中出现时,解决重复加载问题。
扫清,FindBugs 扫描出来的Bug。
Hasor v0.0.13 (2015-05-09)
- 改进
删除封装的log,采用slf4j。jdk自带的log因为采用了SystemClassLoader导致log失败。
修改测试用例,取消log的封装。
Hasor v0.0.12 (2015-05-09)
- 简介
- all-in行动,db和web项目被合并到core,同时合并一些quick插件。
DB
新增 orm 工具包,携带了一个及其简易的数据库操作框架。
新增 SimpleDBModule 工具类,便于为一个数据源配置 事务管理器。
LocalDataSourceHelper 支持每个线程绑定多个数据库连接。
支持7种事务传播属性。
支持隔离级别设置。
支持多数据源。
支持多数据源事务控制(非JPA)
提供@Transactional简单的声明式事务注解。
开发者可以自定义事务拦截器,自定义注解拦截事务。
新增 SavepointDataSourceHelper 接口,并且 DefaultDataSourceHelper 类支持该接口。
新增可以通过 DataSourceUtils 获取当前连接的方法。
通过 net.hasor.db.jdbc 软件包为 Java 应用程序提供了一个轻量化 JDBC 操作接口。
软件包 net.hasor.db.datasource 为 Java 应用程序提供了数据源服务。
增加事务管理器、事务拦截器
Web
增加 shutdown 生命周期阶段。
更换LoggerHelper为日志输出组件。
环境变量实现接口调整,应用Core改动。
增加 MimeType 获取工具Module。
AnnoWebAppContext 类中增加,下面几个接口的绑定。ServletRequest、HttpServletRequest、ServletResponse、HttpServletResponse、HttpSession、ServletContext
新增 JSP Tag 标签库,通过 Hasor JSP 标签库可以方便基于 jsp 的 Hasor 开发。
Quick
新增@Aop注解插件,用于简化Aop声明,只要类通过binder绑定到系统中就会支持。
新增Web请求响应编码设置,默认为UTF-8。
新增资源插件,可以从classpathpathzip中提取资源作为web响应。
改进
StandardEventManager 改为无锁方式实现。
删除封装的log,采用slf4j。jdk自带的log因为采用了SystemClassLoader导致log失败。
Hasor v0.0.11 (2015-04-24)
- 修复
- LoggerHelper,修复当多次调用log输出时产生堆栈溢出问题。
Hasor v0.0.10 (2015-04-03)
- 新增
添加org.more.future工具包,用于实现 java.util.concurrent.Future 接口功能。
新增一个 ApiBinderWrap类。
增加 SettingsWarp 工具类。
增加 shutdown 生命周期阶段。
增加 apache 中 toStringBuilter 工具到 org.more.builder。
增添业务基础包org.more.bizcommon(将来如果发展大了会分离出去,目前就几个类)
增添 StartModule 接口。
改进
修复当程序工作在特殊 ClassLoader 下例如 (Web容器中)时,MoreClassLoader类导致 Class 重复加载问题。
优化,AbstractSettings 实现细节,解决在多线程下可能引发的 HashMap 死锁问题。
AopClassConfig、MethodClassConfig、MethodClassConfig 类增加了一个无参的构造方法。
ClassUtils 增加 getSuperClassGenricType 方法以获取泛型信息。
内部实现增加 CustomerProvider接口。
内部实现增加 MetaDataAdapter类。
不再依赖slf4j日志包,日志输出采用jdk自带的,至此 Hasor实现了0依赖。
分离出专用的 log 工具包 org.more.logger。
环境变量实现接口调整,接口有删减。原有接口当设置Java系统属性之后,环境变量组建不能识别它(Bug)。
修复 ScanClassPath 类无法正确扫描到父类中接口实现的Bug。
Hasor v0.0.9 (2014-09-21)
- 新增
- Hasor 的依赖注入使用 InjectMembers接口。
改进
优化 AppContext 接口实现类的层次关系。
AppContext,不再支持 addModule 这种形式添加模块,改为通过 start 方法传入。
AppContext,不在支持 getParent()方法。
context部分重构,精简了设计。
Hasor 不再依赖 Guice or Spring。
Hasor v0.0.8 (2014-07-26)
- 新增
确立类型绑定机制。
确立Bean机制。
内置Aop接口,不再直接依赖Aop联盟的包。
支持Scope。
支持Provider。
AopMatchers类型新增subClassesOf方法。匹配给定类型的子类(或实现了的接口),迁移至Hasor-Quick项目
改进
Settings接口的 getNameSpace 方法改名为 getSetting。
AppContext接口的 findBean、findProvider 方法更名 findBindingBean、findBindingProvider使其接近ApiBinder接口中bindingType方法的命名以便于开发者理解。
所有Plugins都移动到Hasor-Quick项目中。
将Hasor中start、stop生命周期,相关的支持全部删除,不再支持插件生命周期
所有主要接口50%以上进行改进,改进的目的是不再强制依赖Guice
添加Provider接口、EventContext接口
删除ModulePropxy类、删除启动依赖检查功能
瘦身(去掉JSON包、Ognl包、其它一些工具包)
Hasor v0.0.7 (2014-01-17)
- 修复
修复 AbstractAppContext 当类扫描器扫描不到 AppContextAware 接口实现类时能引发整个doStart阶段的退出。
修复当使用 Listener 注解注册容器事件时,导致ContextEvent_Initialized、ContextEvent_Started 两个事件无法正确调用的问题。
修复当配置文件中,根节点下第一层节点名称如果与根节点同名,导致的数据混乱问题。
修复 new AnnoStandardAppContext() 引发的Bug。
修复 FileEnvironment 在创建 FileSettings 时候导致重复加载配置文件的问题。
新增
Settings 通过映射 key “.” 可以取得根节点。
新增 @GlobalAop 配置全局拦截器。
新增 PluginHelper 工具类,可以将一个插件转换成为 Hasor 的 Module。
Settings 接口新增可以设置新值的功能。
Environment 接口新增可以设置包扫描范围的方法。
AbstractAppContext 类新增 addGuiceModule 方法可以直接将 Guice 模块加入到 Hasor 中。
改进
Settings接口的 getNameSpace 方法改名为 getSetting。
改造 Hasor 的类扫描机制,从 Class.forName 改为字节码解析(性能上仍需要进一步优化)。
部分接口方法名称更换。
修改 Cache 接口的 clean 方法名为 cleanCache,以避免和 Map 接口冲突。
GlobalProperty接口更名为FieldProperty
Hasor v0.0.6 (2013-12-21)
- 修复
- 改进 当使用 JSON 将(List、Map、基本类型)类之外的类型尝试序列化时会得到一个异常。修复这个问题,当遇到这种情况工具将使用 JSONPojoConvertor 对其进行序列化。
新增
新增在注册 ServicesRegisterHandler 时使用 Class 类型。注册的 Handler 支持 依赖注入。
AppContext 接口新增 lookUpRegisterService 方法。可以通过该方法取得注册的 ServicesRegisterHandler 对象。
BeanUtils 工具类新增 copyProperty 用于做属性拷贝的方法。(支持POJO 与 Map 之间相互拷贝)
改进
改进 Hasor 类使其输出日志时不在必须通过 new Exception 来确定方法调用位置,从而提升日志输出性能。
改进 AopInterceptor 类中用于缓存作用的 methodInterceptorMap 属性,将其从 HashMap 类型改为 WeakHashMap。
改进 AppContext 当处理 ServicesRegisterHandler 的注册和解除注册时新增 boolean 返回值。
Hasor 类,归为 core 软件包。
改进 ConverterUtils 当使用“ConverterUtils.convert(Date.class, null);”转换时间日期时出现异常。
删除 Aware 插件,该插件的 AppContextAware 接口将由 “net.hasor.core” 直接支持。
从 “net.hasor.core” 中剔除鸡肋的 ServicesRegisterHandler 功能。该功能于 v0.0.4 版本加入。
AbstractAppContext 梳理内部方法调用过程,通过受保护的方法暴露一些内部执行过程。
所有容器事件发送都改为 “当完成某个阶段的任务之后在引发阶段事件”
Hasor v0.0.5 (2013-11-25)
- 新增
- 新增 DomXmlAccept 工具类,将 Xml 文件转换为 XmlNode 接口形式的 Dom 树。
改进
修复 DecSequenceMap 工具类,removeAllMap 方法引发 ConcurrentModificationException 异常的问题。
修复 ApiBinderModule 类构造方法没有处理 Binder 参数导致插件加载失败的问题。
修改 AbstractAppContext 类的 Guice 创建方法 createInjector。
Cache 接口方法有关 key 参数从 String 类型更换为 Serializable。并增加了一些方法。
修改 StandardContextSettings 类,确保位于jar包中的“static-config.xml”资源在合并时优先级低于file。
Hasor v0.0.4 (2013-11-11)
- 新增
Environment 接口新增 isDebug 方法,用于表示应用程序启动是否为 debug 模式。
Hasor 类新增 isDebugLogger、isErrorLogger、isWarningLogger、isInfoLogger 方法用于判断日志是否支持该级别的输出。
原有 Hasor 类中 debug、error、warning、info 日志输出方法会判断响应级别的日志输出是否支持。
增加 Hasor 类中 trace、isTraceLogger 方法,用于处理 Trace 日志级别。
增加服务注册机制,详见 ServicesRegisterHandler 接口用法。
增加 ModuleEvent_Start、ModuleEvent_Stoped事件。
ApiBinder、AppContext 接口中新增一些有关 BindingType 的工具方法。
新增 Cache 插件。
新增 Aware 插件,提供给不方便通过 Inject 注解注入 AppContext 接口的类,使其在 AppContext 在 Start 的第一时间得到注入。
新增 日志输出,可以看到插件列表,并且展示了插件是否加载成功。
改进
变更 ContextEvent_Stop 事件为 ContextEvent_Stoped。
删除 giftSupport 属性的配置,Gift 扩展方式不在通过配置文件形式启用。
Gift 体系更改为 Plugin,原本 Gift 是作为模块的一个补充,目前改为框架功能插件体系。
代码大面积优化。
Hasor v0.0.3 (2013-10-09)
- 改进
修改根POM改为 0.0.2 该版本可以处理 GBK 编码下 Javadocs 生成。
改进JavaDoc内容的质量。
Hasor v0.0.2 (2013-09-29)
- 修复
- StandardAppContext调用无参构造方法引发异常的问题,同时修改几个核心类的构造方法。
新增
新增以模块类名为事件名,当执行 InitStartStop时候,抛出对应事件。
增加 Gift 体系用于扩展非模块类小工具。
改进
DefaultXmlProperty类更名为DefaultXmlNode,并且XmlNode增加几个常用方法。
删除所有Mapping部分支持,相关代码移到demo作为例子程序。
AbstractAppContext类中有关事件的声明移动到 AppContext 接口中。
Before 注解更名为 Aop 注解,性能进行了优化。
ASM升级为4.0、ClassCode连带升级。
Hasor v0.0.1 (2013-09-15)
- 新增
- 增加@GuiceModule注解,可以标记在com.google.inject.Module接口上,可以将Guice模块引入到Hasor中。
改进
Hasor-Core:80%以上代码重构,重构主要涉及内容的是结构性重构。
InitContext接口功能合并到Environment接口中。
ApiBinder接口增加模块依赖管理。
HasorModule接口更名为Module。
HasorEventListener接口更名为EventListener。
XmlProperty接口更名为XmlNode。
config-mapping.properties属性文件的解析不在是必须的。
重构Settings实现。Xml解析方式不在依赖ns.prop属性文件,实现方式改为Sax。
Module注解,更名为AnnoModule。
重构AppContext实现。
包空间整理,所有包都被移动到net.hasor下,整理License文件。删除残余的、无用的类。
删除所有与Web相关的支持,这部分功能全部移动到Hasor-Web(Hasor-MVC更名而来)。
生命周期:合并onReady和onInit两个生命周期阶段方法,删除销毁过程。
工具包修订:ResourcesUtils工具类中,类扫描代码优化。
工具包修订:DecSequenceMap.java、DecStackMap.java两个类文件增加一些有用的方法。
所有Demo程序都汇总到demo-project项目中。