上周在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框架。
分享到:
相关推荐
MySQL是一个广泛使用的开源关系型数据库管理系统,它与许多Java框架如Spring、Hibernate等有着良好的集成。这些SQL脚本可能用于创建数据库表、填充初始数据或设置特定的数据库结构,是理解应用数据模型的重要参考。 ...
【标题】中的“基于SpringBoot+Vue前后端分离的Java快速开发框架”指的是一个现代的软件开发模式,其中SpringBoot是后端的核心框架,Vue.js是前端的主要UI库。SpringBoot简化了Java应用的初始化和配置,使得开发更加...
- **概述**:JNA (Java Native Access) 是一个允许Java程序直接调用本地系统库的开源框架。 - **主要特性**: - 不需要编写任何JNI (Java Native Interface) 代码即可访问本地库。 - 支持Windows、Linux、Mac OS等...
根据提供的文件信息:“JAVA开源框架学习文档”,我们可以深入探讨与JAVA开源框架相关的多个知识点,包括但不限于框架的选择、安装配置、核心概念以及实际应用场景等。由于提供的具体内容为空,本篇文章将基于标题和...
java开源框架集java开源框架集java开源框架集java开源框架集
这个标题表明我们讨论的是一个专注于企业微信集成的开源框架,它完全用Java语言编写。这个框架的主要目的是简化和加速开发者在企业微信平台上的应用开发工作。企业微信是腾讯推出的企业级通讯与协作平台,而这个框架...
tosaas 开发框架是一款通用的 saas 开发框架,能快速的将传统单企业应用转化成saas多租户模式,支持大数据存储高并发访问,支持无限水平扩展存储服务器、应用服务器数量,经受过百万级用户的实际应用考验。
Spring 框架是一个开源的框架,是为了解决企业应用程序开发复杂性而创建的。Spring 框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 框架的...
JeeSite是一个基于Spring Framework的高效、高性能、强安全性的Java EE快速开发平台。它集成了Spring MVC、MyBatis、Apache Shiro、Ehcache、Activiti等多种优秀技术,提供系统权限、数据权限、字典管理等基础功能...
本资源提供了111个Java项目的开源源码,涵盖了各种Java项目类型,包括Web开发、移动应用开发、桌面应用开发等。这些源码可以作为学习Java编程的参考资源,也可以作为实际项目开发的基础。 Java项目类型 从源码中...
本源码提供了一个基于Java的开源商城JAVA首选商城框架设计。项目包含3885个文件,其中包括1010个Java源文件、886个JavaScript文件、371个Vue文件、299个TypeScript文件、207个CSS样式文件、185个Less样式文件、148个...
基于java的开发源码-smart-socket 开源的Java AIO框架.zip 基于java的开发源码-smart-socket 开源的Java AIO框架.zip 基于java的开发源码-smart-socket 开源的Java AIO框架.zip 基于java的开发源码-smart-socket ...
这个项目的源码提供了一次难得的学习机会,开发者可以深入了解如何使用Java和相关框架来构建一个完整的WMS系统,从而提升自己的技能和经验。同时,数据库备份文件确保了系统的数据完整性,便于在出现问题时进行恢复...
AlbedoBoot是一个Java企业应用开源框架,基于jhipster快速开发框架,使用经典技术组合(SpringB
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
彩虹瓶ptaJeeSite2.0 是一个企业信息化开发基础平台,Java企业应用开源框架,Java EE(J2EE)快速开发框架,使用经典技术组合(Spring、Spring MVC、Apache Shiro、M.zip
本项目为Java技术驱动的定制开发源码,汇集了29个文件,其中Java源文件21个,Markdown文档4个,属性文件2个,Git忽略配置1个,XML配置1个。它通过参考成熟的开源框架与中间件,进行针对性定制开发,以满足特定需求。
本篇文章将详细解析一个名为“简易Java框架开源订销管理系统”的项目,旨在帮助开发者理解其核心概念、设计模式以及如何利用Java框架进行高效开发。 首先,我们要明确“简易Java框架开源订销管理系统”是基于Java...
ERP SpringBoot框架,开源用的ERP软件,目前专注进销存+财务+生产功能。主要模块有零售管理、采购管理、销售管理、...springboot ERP 开源ERP、java进销存、java快速开发ERP 前后端分离ERP 、适用于制造业,零售等行业