Hasor 的思前想后

    这篇是承接《轻量级 Java 开发框架 设计》系列Blog文的后续文章,本文主要絮叨絮叨 关于 Hasor 的一些想法,欢迎大家品评。

    首先很抱歉各位关注这一些列文章的朋友,Hasor 这一系列文章更新速度并不是很快。其中主要是因为工作的缘故。

    关于 Hasor 我想有很多人并不了解这一款框架究竟是做什么的,我自己也承认在最初计划开发 Hasor 的时候也并没有想到会发展到何种程度。但是还是要感谢关注我的各位朋友,没有大家的支持和建议我永远不知道什么什么样的框架才是大家需要的。

    关于名子,其实名字并没有什么特别之处。只是觉得 Hasor 这个词的发音比较简单,而且朋友们也不需要花费精力去查英汉词典。我在起名字之时仅仅考虑的是易读,并没有参照任何典故或单词。

    Hasor 是一款 Java 开发框架,它又是 Guice 的一个增强工具。说它是工具有点狭义,所以还是称它专为 Guice 而生的开发框架把。

    起初打造 Hasor 是为了模块化开发,但随着开发的深入。越来越觉得,模块化开发是一个比较虚的概念(关于模块化开发我会另起一篇文章)。功能组件的模块化并不能真正的算作模块化开发,后来 Hasor 悄悄的改了名字。那么 Hasor 的定位究竟在哪里,成了我一个心中一直存在的问题!

    上个月公司开始组织旅游,也正好借机理清思绪好好思考一下 Hasor 的问题:

1. Hasor 是一个框架,而非一个工具包!
2. Hasor 是 Guice 的一个非常有力的补充!
3. Hasor 不是模块框架,也不是服务框架,更不是组建框架!
4. Hasor 是一种容器,这个容器可以方便的制定它的插件。从而通过插件支撑各类应用的开发!
5. 不可以重复制造轮子,优秀的代码可以直接 copy 过来(法律范畴内)!
6. 注解化开发,尽量使用注解代替繁重的 Xml 配置文件。
7. Hasor 必须要提供一个 Web 支持。
8. Hasor 可以为非 Web 类应用程序提供开发的支持。

    带着这些决定,Hasor 算是经过了重新定位以找到自己的目标。

---------------------------------------------------------------------------------------

对于一般 Java 应用程序的开发。

1.Hasor 被要求提供基础的 IoC/Aop 支持。
2.注解化 Aop 配置
3.Hasor 被要求提供 Xml 配置文件解析支持以方便业务程序对配置文件的需求。
4.提供事件开发机制。
5.要提供灵活的插件扩展机制。

对于 Web 应用程序开发。

1.前后端分离,后端主要负责业务以及数据提供。展示交给视图和前端。
2.不限制前端(客户端)的技术形式,任何前端框架都可以和 Hasor 整合。
3.所有开发性配置都采用注解形式,例如通过 @Aop 声明需要的拦截器、@Controller 声明Action 等等...
4.提供发布 Web Restful 服务,尽量贴近 JSR 311 标准。
5.Action 可以定义返回值处理方式。比方说返回一个字符串,而字符串值会被用作 请求转发。
6.可以注解方式配置 Servlet 和 Filter ,不需要考虑 容器(Tomcat)是否支持 Servlet 3.x的支持。
7.提供一个工具,方便从任意位置载入一个资源作为 Web请求响应。

对于 JDBC 方面。

1.放弃沉重的 ORM 思想,考虑使用轻量化  ORM 策略配置对象表记录映射。
2.提供5种事务隔离级别的支持:1.默认隔离级别、2.脏读、3.不可重复读、4.可重复读、5.同步事务。
3.提供 Spring 的7种事务传播行为控制。
4.提供基于 SQL 的数据库操作接口。
5.允许同时连接多个不同的数据库,作为数据源。
6.在不考虑 JTA 规范的情况下,支持多数据源事务控制。

----------------------------------------------------------------
目前的开发代码存放于(包括Demo程序)
    Github:    https://github.com/zycgit/hasor
    git@OSC: http://git.oschina.net/zycgit/hasor

非常感谢您百忙之中抽出时间来看这一系博文。可以通过Maven 中央仓库网站  http://search.maven.org/ 搜索 Hasor 下载 hasor 的相关代码。

转载于:https://my.oschina.net/ta8210/blog/175445

<p>Hasor开发框架是一款基于Java语言的应用程序开发框架,它的核心设计目标是提供一个简单、切必要的环境给开发者。开发者可以在此基础上,通过Hasor强有力的粘合机制,构建出更加完善的应用场景。同时Hasor的各种内置插件也会帮助开发者进行快速开发。 基于目前Hasor内核上已经发展出DB、Web、Restful三大独立的基础框架。</p><p>特征: 1、IoC/Aop编程模型,设计精巧,使用简单 2、COC原则的最佳实践,‘零’配置文件 3、微内核 + 扩展,基于内核已发展出DB、Web、Restful三大独立的基础框架 4、真正的零开发,解析项目特有的自定义Xml配置 5、支持模板化配置文件,程序打包之后一套配置通吃(日常、预发、线上)以及其它各种环境 6、完备的JDBC操作接口,支持Result -> Object映射 7、提供三种途径控制事务,支持七种事务传播属性,标准的事务隔离级别 8、支持多数据源、及多数据源下的事务控制(非JPA) 9、内置事件机制,方便进行业务深度解耦,使业务逻辑更佳清晰 10、支持Web类型项目开发,提供restful风格的mvc开发方式 11、支持Form表单验证、支持场景化验证 12、提供开放的模版渲染接口,支持各种类型的模版引擎 13、提供丰富的工具箱,帮助您快速开发,有了它您甚至不需要 apache-commons 14、支持log4j、logback等多种主流日志框架 15、体积小,无第三方依赖</p><p>最低要求: 1、jdk6 2、servlet 2.3</p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值