您的位置:首页 > 编程语言 > Java开发

Java 后台框架源码 springmvc spring mybatis SSM 有代码生成器

2018-03-04 02:23 941 查看
下面是吹牛皮啦。不爱看的就直接去下载源码自己玩吧。
源码地址:https://gitee.com/jeegem/jeegem

大家好,今天开始把我们公司用的基础框架开源出来,主要是有几个方面,最主要的是,想通过开源来让这套产品更加成熟、稳定、让更多人受惠。
说说为什么要做这么一套快速开发框架吧。
来这家公司有5年了,当时工作3年左右进的,从开发一直做到项目经理,再到公司小股东,成长了很多,当然收入也提高了很多


记得刚来的时候,这边框架都是公司之前老人搭建的,由于人员变动比较大,用的很多技术和写的代码并不规范,也没有留多少文档,并且用的技术很杂乱,明明不需要工作流,偏偏就用了,而且当时还是用的JBPM3的,大家知道,JBPM很多年前就拆分了,主要作者都去做activity了,更不用说国内这方面的社区、文档之类的了,我们公司之前封装JBPM那哥们也确实是大牛,但是他自己整完了,没有留什么注释,也没留文档,说他都看的官网学的。。。这就TM尴尬了。。。


后来我们干脆把这个工作流给去掉了,自己控制流程,其实就是一个管理审批流程,弄个表,就一张表就够了,记录流程走到哪里了、被谁审批了、审批结果、审批说明,就OK了。字段都不需要几个。。。。
你看,本来是很简单的事,却花了那么大的力气,当然了,可能原来那个大牛就是想试试身手吧。。。


在说说另一个,关于权限管理的,这也是我进这家公司做的第一个功能,但是那个项目权限功能并不是很多,需求无非就是,根据不同角色来给不同权限,登录后根据权限来显示角色。。。
再来看看以前大牛怎么搞的吧,用的Acegi Security这个,可能很多刚刚工作没几年的人不太了解,这是SpringSecurity的前身,就现在Spring这么流行,SpirngSecurity到现在网上中文教程、文档都不太多的。所以也是很尴尬。。
当时让我把这个给去掉,本来是让我先学习下这个框架,我学了几天,发现确实文档很少,后来太头大,索性就不学了吧,直接分析业务,最后看下来也就是我上面说的,其实用的并不是很多,直接去掉,加上自己判断。当时我使用filter去拦截判断权限的。。。当然现在想想这样其实并不好

所以经过这两件事,我们团队后来也就达成一致了,对于老代码,技术太难理解的,并且业务不复杂的,直接自己实现,这样
在来新人上手还快,也不用招聘什么985、211的了,直接培训机构来的也能干活。

就这么吭哧吭哧做了两年左右,也做了不少项目,我们团队人陆陆续续都走了,我也从组长升到项目经理,当时我考虑了很久。
我想我来带人的话,以我当时五六年的经验,很可能带不动,我做事虽然快,但是我技术并不是很厉害,在看看我周围,来的新人大多数是培训机构出来的,工作个一两年,还没到能完全自主开发一整套流程。
基于这些想法,我和公司几个开发讨论了下,准备写一个快速开发框架,让底下开发不用学什么技术,只要按照这套系统,几乎不用写一条SQL语句,dao、service、action、页面,都是生成现有的,只要把数据库设计好了,直接全部生成完,CRUD、一对一、一对多、多对多、树形结构、分页、权限控制的都有。

当时刚刚写好给开发那边用,反馈非常好。之后开发真的节约了大量时间、人力,最重要还有一点就是,代码规范自然就做好了,这是很多公司项目经理都会要求,但是一般又做不好的,因为人嘛,总是会有做错的,但是你有一键生成工具,全部都是一致的,也就不怕规范做不好了。。。。

现在我们公司招聘的人一般也就是两三年工作经验的,也就够了,就写写业务代码,也不怎么加班,领导看到工作效率提升了,很开心,做的项目也更多了。。。小伙伴们更开心,每天工作虽然多,但是不累人、不烦人,抽空谈个对象啊什么的,没事自己研究研究前言技术啊啥的。现在也不用天天去网上搜什么三表、四关联查询怎么写了,全部都有了。。。。

所以你看这是我做项目经理的观念,我这么多年做的最主要的事就是尽量不让开发去每天百度、谷歌搜哪个技术怎么用之类的,那样很累人、浪费时间。也耽误我项目进度。。。其实很多东西也没有太多必要去学习。

当然还有很多其实方面,和这套快速开发框架不太搭边,但是能提高团队协助工作效率的方法,这里就不一一说了。。。

好了,扯了这么多,这套快速开发框架很神奇吗?
其实很简单,任何牛X的东西其实都是最朴实无华的。
后面我会经常分享这套框架的具体细节,也会把源码分享出来。

技术选型

1、后端核心框架:Spring Framework 4.2.5.RELEASE
安全框架:Apache Shiro 1.2.5
视图框架:Spring MVC4.2.5.RELEASE
任务调度:Spring Task 4.2.5.RELEASE
持久层框架:MyBatis 3.4.5
数据库连接池:Alibaba Druid 1.1.8
缓存框架:Redis
日志管理:Logback
工具类:Apache Commons、Jackson
分布式框架:dubbo2.5.5
2、前端JS框架:jQuery 1.11.1。
CSS框架:Twitter Bootstrap 3.3.7。
富文本在线编辑:uEditor(百度的,很强大)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐