想做一个JAVA开发的开源框架,望大家给点意见

 上周在Javaeye论坛看到一个帖子,讨论楼主自己开发的框架和hibernate框架的对比,其实说起来,我蛮同情楼主的,毕竟现在在大家眼里面,hibernate,ibatis,spring 等框架都是超级NB的。都已懂这些开源框架的某些特性而沾沾自喜,其实大家都明白,我们需要的是什么,我们需要一个简单易用,代码容易读,可以轻易理解其功能和原理,而且易用强劲,能解决我们的问题,在系统运行过程中遇到问题,在我们的可控范围内,这样的项目,我想应该是大家想用的,但是问题又来了,现在每个人都在用hibernate,如果你用torque,难保有人会鄙视你,如果你用Hivemind来替代spring,我想肯定会有人说你不懂潮流。

  其实我个人觉得,一些小型的应用,比如简单的网站,用用dbutils就足够了。hibernate的强大所带来的问题就是太复杂,毕竟功能多了,那么多的配置文件,让初学者看文档掌握hibernate,我想没几个人能看下去,即使是看源代码,也会看的一头雾水,我看过hibernate源代码好多次,每次都没法完全理解那些接口的用处,当然每次的阅读,我都能得到很多东西,当然现在我也同样有很多地方的代码看不懂,可能我水平太差了。

  言归正传,在javaeye论坛里面的那个帖子,貌似楼主公司有个开发框架,叫zving,功能很简单,可以满足一般小的应用的开发,就是因为他说了一句,hibernate不好用,拿他的东东跟hibernate比,结果被骂的很惨,哎,我搞不懂为什么现在的人都这样,我们会用spring,会用hibernate,为什么我们不开发一个跟它一样的东西呢,虽然大家都说造轮子是傻瓜,但是话说回来,你会用人家开源,并不代表你有那个能力做出那样的开源,我感觉适当的时候,造轮子总是应该的,毕竟自己造的轮子,用的放心。

 

 今天我在sourceforge注册了一个项目JDF(Java Develop Framework),可能大家就冲这个名字就要给我扔鸡蛋了,不过没关系,这不还没开始了嘛,我会把这个项目的开发的过程,以及想法,以及一些代码片段记录到博客上面,我想大家可以通过这个学到很多东西。

 

 我打算JDF的内容包括:

 数据库层,要求每个表包括 DELFLAG,OP_ID, CREATE_DATE,UPDATE_DATE 四个字段。

 可能是由于我对数据的要求比较高吧,这里删除分为物理删除和逻辑删除,物理删除是把记录删除,逻辑删除是更新DELFLAG字段的值。OP_ID是记录这条记录的用户的ID,CREATE_DATE 数据创建时间,UPDATE_DATE 数据更新时间。

每个表可以设置是否设置历史表,历史表负责每条记录的修改记录的备份,对于数据审计要求较高,我想一般的应用,对数据的要求都是越来越高的,数据原则上是不能轻易删除的。

 or-mapping ,包括数据的联动读取,联动保存,数据更新的时候,只更新已修改的字段。这里的bean用工具自动生成,由于不想做hibernate那种配置文件那种,因为配置文件对于用户来说,是很头疼的事情,所以bean里面会包含很多内容。

 sql-builder,根据bean,生成相应的sql操作代码。支持数据分页读取。

 jdbc 接口代理,记录数据库sql,绑定变量,以及sql的执行时间。

 数据库连接池,类池,对象池,以及简单的缓存框架,缓存一些小表数据。

 利用CGLIB动态的代理类,获取监控数据。

 

 支持多数据库操作,支持一个系统用多个数据库,比如在电信系统里面,一个系统后台会对应多个数据库。

 支持分表的处理(只建一个bean)。

 按系统标准的开发方式,可以直接把项目的服务层打包成EJB,利用EJB打包工具,直接把应用系统打包成EJB,全面支持JTA,XA,支持直接把服务层打包成webservice。 可以打包支持各种主流中间件的发布。

 

希望大家有啥好的想法,可以一起讨论,项目马上启动。由于精力和时间,无法开发对应的WEB框架。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值