做过不少的bs项目,但是只要是有服务端的系统,都少不了复杂的后台管理功能。每次系统开发,都会设计并开发新的一套后台,浪费很多人力和物力。有时候作者自己也会接一些私活,嘘......其实这个不能说出来,也都会做这种搭建后台系统的重复性工作,完全已经成为了一个体力活。 从业这些年间,在网上受到过不少朋友所写文章的帮助,惭愧一直都在做潜水员,没有发表任何的技术贴。所以这次把一些积累的有用的代码和材料,集成在一个系统里,供大家讨论、学习和参考。
为了方便自己,也为了方便更多其他的朋友更快的开发出自己的定制系统,我把一些基本的需求(系统登录、用户注册、用户管理、资源管理、角色管理、菜单管理、日志管理和皮肤管理等八大基础模块)做了个包装,以后有简单的开发任务,就基于这个平台来进行开发,会大幅度的减少开发工作量。开发人员可以把工作重点放在业务逻辑上,而不是前端界面的设计上,也不用花大量的时间调试浏览器的兼容性等体力工作上。当然,现在市面上有很多快速开发系统,有不少还能提供拖拽方式建成系统的,作者也调研过一些,但是感觉学习成本有点高,系统的可定制性不高,而且不能提高自身的技术水平,所以作者本人也不太爱用这种过于傻瓜,且定制性比较差的快速开发平台。
所以,Puma framework适用于了解Java语言的,并且习惯自己编写后台业务逻辑的程序员们,如果您有中小型项目要开发,而且时间比较紧迫的话,不妨试试,应该能加快开发速度,并且功能和性能有一定保证。
Puma framework的宗旨是:让Java系统开发变的更简单一点!如果您对该framework有任何建议,欢迎联系作者,作者会尽力改进和完善。
由于该framework目前由作者一人完成,所以难免有不足之处,如果有任何不合理的地方,也欢迎大家拍砖、批评指正!
有感兴趣的朋友直接联系吧,联系方式在文章底部,希望能有所帮助。
演示地址:demo
加上了注册模块, 账号自己注册即可。
截图介绍:
前端:
-
前端JS,CSS按需动态加载
-
前端界面内容自适应窗口大小
-
所有的HTML,JS,CSS压缩优化
-
支持浏览器的回退和前进按钮(浏览历史记录)
-
滚动条自动隐藏,鼠标经过才显示,保持界面的简洁
-
CSS动态效果(IE9以下不支持)
-
异常的统一处理
-
插件模块图标自定义
后端:
Puma framework后端采用Java语言开发,采用SpringMVC+SpringData+SpringSecurity+Hibernate实现。集成了
-
EHCache缓存模块、
-
Log4J系统日志模块
-
用户操作日志模块(AspectJ实现)
-
Quartz任务管理模块
-
RedisNoSQL模块(因为有些数据读取比较频繁的操作可以利用Redis)
-
Hessian远程调用模块(供学习使用)
-
JSoup网页分析模块
-
邮件发送模块
-
编写了minify-html-maven 插件,供学习使用
1. 登录界面,支持验证码
2.用户注册,支持多种注册方式
3. 登录系统后,默认页面。页面分为左侧导航、顶部快捷菜单、中央区内容三大板块。注意logo的左方有一个三角按钮,可以收缩或者展开左侧导航菜单。
4. 提供详细的系统的使用手册和开发文档
5. 用户管理模块
6. 用户操作日志管理模块
7. 菜单管理模块。灵活的菜单管理,支持拖放和实时 编辑操作。
8.资源管理。在资源对应的是所有的用户请求,spring security会对所有的用户请求进行权限判断。puma framework会在服务器启动的时候对所有的controller进行扫描,对于没有添加到数据库的controller会自动添加。
9.角色管理
10. 皮肤设置,支持动态皮肤设置,不需要重新登录。
11. 自定义导航菜单
在本框架中,自己开发了几个组件,供朋友们参考使用:
1. flex做的头像采集模块,之前做项目的时候需要头像编辑的模块,结果在网上看到有类似的组件,但是要收费。我不是断人财路,但是这种模块化的东西实在是应该共享一下,自己做过flex的开发,所以就自己写了一个,随意使用。支持本地图片上传和拍照上传。
2. 发布前对所有的js,html,css源码进行压缩处理。看到许多网站把js,html,css都压缩了,网上也有许多压缩工具,但都是手动的去进行批量操作,每次发布产品的时候都去手动压缩,岂不是太麻烦了。自己写了一个maven的plugin,在build或者deploy之前进行压缩处理。
未完,待续。。。
PS:
如果对Puma framework有任何问题或者建议,欢迎来信:boyuan2000cn@163.com,QQ:188134548,QQ群:175577972,很高兴跟大家一起讨论问题。
目前在写点文档,现在要是对源码有感兴趣的的朋友直接联系我吧,文档稍微完善点后会提供下载地址的。
系统开发者本人主要从事软件质量保证和软件开发领域的工作。
软件质量方面,对自动化测试、测试管理比较熟悉。
开发语言方面,对Java、HTML,CSS、Javascript、Flex、XML比较熟悉,VC++略懂。
数据库方面,对MySQL,DB2,Sybase, Redis(No SQL)比较熟悉。
框架应用方面,熟悉Eclipse plugin development, Spring framework,Spring Data, Spring Security, iBatis, Hibernate, Struts,Hadoop(HDFS+MapReduce)。
以上都是以前做过项目中涉及到的一些技术,比较杂,由于量多,所以研究不算很深入,但是也曾遇到过并解决过很多问题,如果有这方面的技术问题,欢迎大家一起讨论、提高!