博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我入行以来java框架的几个阶段&论什么是真正的组件开发&项目中部分源码干货分享
阅读量:4073 次
发布时间:2019-05-25

本文共 1459 字,大约阅读时间需要 4 分钟。

进入这个行业快9年了,10年3月开始学习编程,工作了也快八年了,总结下这几年行业流行的开发模式。

 

第一阶段,SSH/M + EXTJS阶段,struts1/2 spring hibernate 阶段。  10-12年

                    我入行的时候,struts1基本上退出历史舞台了,只用过他做过一个项目,印象不是很深刻了,就觉得比较难用,换到struts2好很多,那个时候框架比较笨重,所有的代码都需要自己写,当然hibernate自带了生成xml的生成器,mybatis也有,但是并未大行其道。这个时候,做一个CRUD大概需要2-3天,加上导入导出+验证大概需要一周时间还搞不定所有的bug,当时的开发效率是相当的糟糕的。这个时候用EXT JS的公司已经算是比较潮的了,他解决了后端程序员写前端代码调样式的问题,早期很多人写SWing 写EXT也是写起来比HTML顺手。

 

第二阶段,SSH/M + Easyui/bootstrap + 代码生成器阶段,springmvc+spring+hibernate/mybatis + 前端使用easyui、bootstrap家族,12-17年。

                      自从JEECG问世以来,陆续出现了很多代码生成器项目,他们有的可以帮你根据数据库表生成 DTO,有的可以帮你生成DTO service DAO action  有的甚至连同前端页面都给你生成了,这个时候我们简单的CURD,都可以通过自动生成来实现,而不是自己手动写代码了,ORM 也出现了 hibernate实现的JPA/Mybatis Jpa(此插件源码我会上传到码云上去,是我参与的一个开源项目,因为和发起者有一些想法上的不同,故自己上传一份我维护的,大家喜欢原版可以访问),这个时候我们慢慢的写的sql已经很少了,后端代码也都可以通过继承来实现少写毫无业务逻辑的代码。做一个CRUD从2天缩短到了不到一天,熟练工一天可以写3个-5个,但是因为大量的前端手写代码,bug还是比较多的,随着easyPOI出现做导出/导入 比较容易了,他还带了校验功能,做一个导入导出需要1天就搞定了,一个CURD加一个导入导出2天就可以搞定,这个阶段前端也有很多插件了,比如上传插件,日期选择,ztree,easyui/bootstrap 家族,校验插件( 最好的JQ校验插件,不接受反驳,简单改改就支持easyui&其他的UI框架的控件),可以帮我们快速&漂亮的实现各种前端功能。

 

第三阶段,配置项+组件+自定义业务逻辑开发。

                     这个阶段,简单的CRUD,几乎不会出现什么bug,因为他是基于组件的开发,没业务逻辑部分几乎都是配置出来的,我相信大多数公司都没有达到这个程度,就拿组件开发这个词语,VUE的组件只是把HTML 让你可以用简单的方式把一块HTML代码编程一个模板,组件应该有输入,有操作,有输出,依靠约定,这个组件的id叫什么,数据在哪来,哪张表,如何校验,是否支持重复,这种组件,要实现的功能是 一行配置搞定上传,一行配置搞定下拉,一行配置搞定省市区三级联动,一行代码搞定百度地图拾取 坐标,一行代码搞定UE编辑器 等等。

                       我们公司PHP组已经将框架升级到了第三个阶段,他们写简单的CURD都是配置出来的,但是扩展性比较差,一个初级程序员很难去扩展已有组件,如果自己想在form中间加一些自己的东西,靠js完成,这不是我想要的。

                        作为java的主心骨,看到了未来,就要去实现,以下讲实现。

                       博主提供的开源组件 Mybatis-JPA 组件开源地址 

                      

                         

 

          

                    

                     

                    

                    

 

 

转载地址:http://bgwni.baihongyu.com/

你可能感兴趣的文章
SSH原理与运用
查看>>
SIGN UP BEC2
查看>>
S3C2440中对LED驱动电路的理解
查看>>
《天亮了》韩红
查看>>
Windows CE下USB摄像头驱动开发(以OV511为例,附带全部源代码以及讲解) [转]
查看>>
出现( linker command failed with exit code 1)错误总结
查看>>
iOS开发中一些常见的并行处理
查看>>
iOS获取手机的Mac地址
查看>>
ios7.1发布企业证书测试包的问题
查看>>
如何自定义iOS中的控件
查看>>
iOS 开发百问
查看>>
Mac环境下svn的使用
查看>>
github简单使用教程
查看>>
如何高效利用GitHub
查看>>
环境分支-git版本管理
查看>>
uni-app 全局变量
查看>>
java 不用递归写tree
查看>>
springboot2 集成Hibernate JPA 用 声明式事物
查看>>
fhs-framework jetcache 缓存维护之自动清除缓存
查看>>
SpringBoot 动态编译 JAVA class 解决 jar in jar 的依赖问题
查看>>