我入行以来java框架的几个阶段&论什么是真正的组件开发&项目中部分源码干货分享

栏目: Java · 发布时间: 4年前

阅读更多

=

=

=

总结下这几年行业流行的开发模式。

第一阶段,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(此插件源码我会上传到码云上去,是我参与的一个开源项目,因为和发起者有一些想法上的不同,故自己上传一份我维护的,大家喜欢原版可以访问https://github.com/svili365/mybatis-jpa),这个时候我们慢慢的写的 sql 已经很少了,后端代码也都可以通过继承来实现少写毫无业务逻辑的代码。做一个CRUD从2天缩短到了不到一天,熟练工一天可以写3个-5个,但是因为大量的前端手写代码,bug还是比较多的,随着easyPOI出现做导出/导入 比较容易了,他还带了校验功能,做一个导入导出需要1天就搞定了,一个CURD加一个导入导出2天就可以搞定,这个阶段前端也有很多插件了,比如上传插件,日期选择,ztree,easyui/bootstrap 家族,校验插件(http://validform.club/ 最好的JQ校验插件,不接受反驳,简单改改就支持easyui&其他的UI框架的控件),可以帮我们快速&漂亮的实现各种前端功能。

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

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

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

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

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

https://gitee.com/svili/mybatis-jpa

---------------------

作者:Jackwang@1992

来源:CSDN

原文:https://blog.csdn.net/shuaizai88/article/details/84670485

=

=

=

分享到:

面向组件编程是什么?

评论


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

D3.js in Action

D3.js in Action

Elijah Meeks / Manning Publications / 2014-3 / USD 44.99

Table of Contents Part 1: An Introduction to D3 1 An introduction to D3.js 2 Information Visualization Data Flow 3 D ata-Driven Design and Interaction Part 2: The Pillars of Information......一起来看看 《D3.js in Action》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具