用来快速开发“政企信息管理系统”的JAVA基础框架


BAMS是一个完全开源的政企信息管理系统基础框架。它是轻量级的,简单易学的(学习成本真的很低,没有extjs,没有easyUI,没有繁琐的js UI库。只要java基础扎实,再稍懂一点js即可,真的是为java开发人员量身定制的一套框架啊),框架以Spring Framework为核心、Jsp+Dwr作为模型视图控制器、Hibernate作为数据库操作层。

BAMS已内置 一系列企业信息管理系统的基础功能,目前包括三大模块,系统管理(SYS)模块、人力资源管理(HRM)模块和在线办公(OA)模块。 系统管理模块,包括企业组织架构(用户管理、机构管理、区域管理)、菜单管理、角色权限管理、字典管理等功能。

BAMS提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据(用户、机构、区域)以及其它常用小工具等。另外还提供一个基于本基础框架的 代码生成器 ,为你生成基本模块代码,如果你使用了BAMS基础框架,就可以很快速开发出优秀的信息管理系统。

BAMS经过了N多项目的锤炼,不管是在架构上,还是在技术细节上,都已经非常成熟稳定。和那些“很炫、很漂亮的”演示型框架比,BAMS才是真正的实战型企业级开发框架。

BAMS涉及的技术知识点都可以在 技术分享 中找到,你也可以使用网站顶部的搜索功能查找相关资料。


BAMS主要定位于“政企信息化”领域,可用来快速开发优秀的中小型政企信息管理类系统。

如果是管理千万级数据或者对系统性能要求较高的项目,“老高”不推荐使用BAMS,这主要还是因为BAMS的架构限制。在BAMS的大部分Jsp页面中,都是使用Dwr来调用后台方法的,这种架构丰富了页面的交互能力,提高了用户体验,但是却存在一些问题,一是系统响应时间较长,相信熟悉ajax同学会比较有感受。二是不能完全发挥Hibernate的威力,使用这种架构Hibernate的懒加载特性将会失效,所以BAMS很少使用Hibernate的关联映射,只是将独立的对象进行持久化。

BAMS目前还是主要针对开发人员。JAVA开发人员可以使用流程引擎Activiti+代码生成器来共同完成流程业务和非流程业务的快速开发。

希望BAMS能够对那些正在或即将开发自己团队的J2EE应用快速开发平台的个人或公司能有所启发!


BAMS已经有近八年的历史,期间经过N多项目的锤炼,整体框架已经非常稳定可靠,请兄弟们放心使用。

初始版本后端jsp、dwr、servlet、hibernate、spring,前端原生JavaScript。

为了方便开发,提高效率,封装了一些jsp标签;封装了数据表格、图表、功能流程图等等,可以在jsp页面中使用java代码输出html、js。

八年前,前端只需要兼容IE浏览器,那时候写html、css、js只需要针对IE开发,比起现在浏览器百花齐放的局面,感觉以前还是很幸福的。

那时候流行的原生js效果,例如树形、TAB页、布局、弹出框、自动补全等等现在已经被各种js框架所替代,使用js框架更容易开发,代码也更加简洁。以后我会对BAMS中用到的原生js效果做一些介绍,大家也可以了解一下以前流行的原生js代码。BAMS前端原生JS插件大曝光

一零年的时候,引入了jquery,原生js和jquery并存,之后便一直使用jquery。

后来为了做网络磁盘,同事又引入了extjs,这使得bams中存在了2种js框架。

最近几年,bams浏览器兼容性的问题逐渐显现出来,不得不对前端html、css、js进行兼容性改造,过程比较繁琐,使用各种浏览器进行测试,调整了很多细节问题,目前已经能兼容所有浏览器了。

在使用BAMS的过程中,你会查看到各种技术升级的痕迹,例如:原生js -> jquery 、 servlet -> struts2 -> springmvc 、 jsp -> freemarker,你可能会觉得混乱,但这也是BAMS不断与时俱进的过程,多多谅解,多多体会这些技术的发展。


核心框架:Spring 3.1.2.RELEASE

视图框架:Spring MVC 3.1.2.RELEASE

Ajax交互框架:Dwr 2.0.3

持久层框架:Hibernate 3.3.2.GA Spring Jdbc 3.1.2.RELEASE

数据库连接池:proxool 0.9.1

工作流引擎:Activiti 5.16

任务调度:quartz 1.7.2

日志管理:SLF4J 1.7.2、Log4j 1.2.17

邮件管理:Mail 1.4

模板引擎:Freemarker 2.3.20

工具类:pinyin4j 2.5.0(中文拼音转化)、jxl 2.6.12(Excel处理)、jsoup 1.7.2(Html解析)、json-lib 2.3(json处理)、cos 05Nov2002(上传组件)


开发工具:Eclipse、Intellij idea

项目构建:Maven

版本控制:Git


六、运行环境

操作系统:Windows、Linux

JDK版本:1.6、1.7

Tomcat版本:6.x、7.x

数据库:已测试MySql、Oracle,理论上可以使用Hibernate支持的所有数据库。

浏览器版本:IE7以上系列、Chrome系列、火狐


一起努力,一起学习,让我们在J2EE架构之路上走得更加顺畅。点击网站广告支持老高的开源行动。