`
z19910509
  • 浏览: 49811 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

工作中项目框架和项目结构的演变

阅读更多

工作到现在也三年多了,现在总结下工作过程中使用的框架和技术,开发工具以及项目结构的变化。

这里并不会去详细的去叙述哪一方面,只是简单的描述下。好了,开始。
 
组合1、开发工具:myeclipse;  采用框架:无  ;采用jdbc访问数据库;servlet+jsp+el+jstl显示数据,偶尔使用点js;采用mvc开发模式
其实这种写法写起来是挺累的,而且很容易出现问题,就像jdbc,当时自己封装的一个非常垃圾的DBUtil,现在看起来真是非常简陋。但我认为这一组合(myeclipse可忽略)对于初学者来说都应该去弄熟练了,这些基础对于以后的发展都有很大的好处。记得当时我和一个伙计就是用这些东西,做了一个系统,每个人还转了2000块钱。这些东西学习还行,公司中工作使用不推荐。
 
组合2、开发工具:eclipse;采用框架:spring+hibernate+struts2;依然采用jsp+el+jstl显示数据,当然也加上了一个OGNL,依然采用mvc开发模式,创建一个项目美分为三层。并且前端开始使用jquery,ajax请求也多了起来。
这种组合相对上面来说,开发起来轻松多了,这也是将点的三大框架了,无论是从数据库访问还是页面显示,以及对java对象的管理,都极其的方便了。但hibernate用起来好用,用的好却不是那么容易的。
 
以上两种组合主要是在大学期间使用的,对于jar包的依赖都是通过手动的添加进行管理。
 
组合3、开发工具:eclipse;采用框架:spring+mybatis+spring mvc;页面显示采用jsp或freemarker;采用了maven进行依赖管理,采用mvc开发模式,但这些层已经不都聚集在一个项目中了,而每一层都作为一个单独的module,这样项目结构非常清晰。这一阶段项目中大部分页面的数据都已经为ajax的了,并且前端采用了js模板引擎,如:arttemplate,这样避免了手动拼html的麻烦事儿。
 
对比上面可以看到,这里已经I昂hibernate换位mybatis,mybatis用起来也很方便并且其因为自己写sql,可以自己对sql进行定制。而struts2换为了springmvc,用了springmvc后,反正我是觉得再也不想用struts2了。上面说到了,项目分为了多个module,一方面是因为很维护与管理,另一方面就是当时接触的项目已经是分布式项目了,别的项目可能会依赖这个项目的接口或domain,所以如将domain单独作为一个module,方便打包上传的maven仓库。
 
另:项目之间的远程调用采用的dubbo
 
组合4、基本与组合3相同,只不过完全的前后端分离了。后端只提供REST的json数据。前端采用anjularjs,前端的开发工具为webstorm。还有一点要说明的是,这使得构建工具有maven换为了gradle。
这个组和中,后端的代码中已经没有了jsp或者freemarker等,有的只是springmvc提供的API数据接口。前端静态页面存储在nginx中。这是前端对后端数据的访问已经完全异步,全是ajax请求。
且项目中采用了jekins作为项目的集成。
 
以上介绍的几种组合,servlet容器均使用的是tomcat和jetty,其中jetty使用居多。
 
组合5、依然是前后端完全分离,但angularjs换为了angularjs2(有点坑爹),其中最大的变化是后端采用了springboot。这时最终运行的程序大的包已经不是war包了,而是jar包了。也可以这样说,前几个组合都是我们程序运行在jetty中,而现在用了springboot,jetty嵌入到我们程序中了,这样最终部署,只需要jar -jar XX.jar 启动程序就行了,非常方便。
开发工具也换成了,Itelij Idea。angularjs2与anjularjs对说是对anjularjs的升级,但完全改的不像样了,可以说是重新做了一套,但使用起来思路清晰了好多。而spring boot也推荐大家去学习下,使用它我们可以很轻松的就搭起一个项目,并且他生成的可执行的jar包,在云平台或者docker中部署是非常方便的。
 
以上就是总结我使用的的大体的几种组合,一些细节也没有去叙述,漏下了许多。欢迎大家的批评与指正。同时,强烈像大家推荐gradle,个人感觉,它比maven好用太多了。Itelij Idea用习惯了也感觉确实比eclipse方便很多,但这玩意儿收费啊。
 
 
 
 
 
 
 
 
1
3
分享到:
评论

相关推荐

    Struts,Spring,Hibernate框架在OA开发中的应用

    随着软件开发技术的发展与演变,为了加速软件开发进程、提高软件生产率、改变软件质量、便于项目维护,文中基于MVC模式提出J2EE技术平台四层体系结构,分别为表现层、控制层、服务层、持久层。研究和整合当前最流行的轻...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    随着博客人数的增加, Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一...

    基于J2EE框架的个人博客系统项目毕业设计论...

    随着博客人数的增加, Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一...

    最新基于SSM框架疫情居家办公OA系统.zip

    - **维护成本低**:清晰的项目结构和成熟的技术栈可以降低后期维护的难度和成本。 - **社区支持强大**:作为流行的Java企业级应用框架,SSM具有丰富的文档和广泛的社区支持,有利于解决开发中的问题。 综合来看,...

    自然框架稳定版

    稳定版和以前版本的变化  因为对基础做了一些修改,所以不能向下兼容了。不过以后的版本都会兼容这个版本的。 1、 元数据的结构  主要改的是“字段扩展信息描述表”(Manage_Columns),ControlInfo字段的定义...

    信息系统项目管理师 论文 信息系统项目管理师范文

    对“项目时间管理”的认识和体会--“赶工和快速跟进”在工作中的运用 137 工程项目成本/进度综合控制方法及应用 138 软件开发项目进度控制浅谈 141 项目的生命周期 145 项目管理过程之进度控制 147 项目管理系列之...

    软件项目管理师大全(大纲+论文格式+经典案例)

    对“项目时间管理”的认识和体会--“赶工和快速跟进”在工作中的运用 137 工程项目成本/进度综合控制方法及应用 138 软件开发项目进度控制浅谈 141 项目的生命周期 145 项目管理过程之进度控制 147 项目管理系列之...

    论文研究-基于设计结构矩阵(DSM)的复杂研发项目建模与优化研究进展.pdf

    从产品架构中部件之间依赖度的测度,到产品DSM的模块化设计以及聚类算法的演变和发展;从单一领域的DSM扩展到多领域矩阵(MDM)的建模与应用,清晰地展示了基于DSM的复杂研发项目建模与优化的几条研究脉络和最新研究进展....

    WPF应用程序框架(WAF)v2.5.0.7源码2012825

    WPF应用程序框架(WAF)是一个轻量级的框架,可以帮助您创建结构良好的WPF应用程序。 它支持你在申请一个分层的架构和模型-视图-ViewModel(又名MVVM, M-V-VM, PresentationModel)模式。 特点 WPF应用程序框架(WAF...

    Fourinone分布式并行计算四合一框架

    于是我将自己对分布式的理解融入到这个框架中,考虑到底层实现技术的相似性,我将Hadoop,Zookeeper,MQ,分布式缓存四大主要的分布式计算功能合为一个框架内,对复杂的分布式计算应用进行了大量简化和归纳。...

    Excel VBA实用技巧大全 附书源码

    目录 01001获取Excel版本 01002获取Excel的安装路径 ...05011获取工作表中的全部嵌入图表名称和类型 05012制作图表 05013制作多个图表 05014对多个图表进行合理布置 05015制作能够选择任意图表类型的图表 05016制作...

    Fourinone分布式计算框架

    于是我将自己对分布式的理解融入到这个框架中,考虑到底层实现技术的相似性,我将Hadoop,Zookeeper,MQ,分布式缓存四大主要的分布式计算功能合为一个框架内,对复杂的分布式计算应用进行了大量简化和归纳。...

    [php框架]非官方_Kohana_3_中文译本.zip

    档基础上,以协助人们在3.x框架上工作 我该使用哪个版本的 Kohana? 通常来说,很大程度上你应该以自己如何开发作为选择什么版本 Kohana的根本。诸如你如何使用框架以 及你曾经使用 Kohana和PH的经验 从哪个框架运行更...

    IT项目管理

    1、结构框架:作用在 2、人力资源框架:关于定义角色,明确职责,促注的是平衡协调组织的需求和进合作和控制变化。组织结个人的需求。 构图有助于定义这个框架。 3、行政框架:组织是 4、标识框架:重点在于...

    CMMI指导下的信息系统需求变更度量框架

    随着企业对信息系统 的 日益依 赖 ,信息系统的功能 日趋完善 ,其结构也越来越复杂,这使得信息系统的开发成为 了一项挑战性 的工作。需求开发是信息系统开发过程 中的关键性工作 ,它是用户与开发人员进行 沟通 的...

    Vue.js前端 JavaScript 框架

    高效灵活:Vue.js 支持自定义指令和过滤器,具有很高的灵活性,并且可以轻松集成到现有项目中。 支持服务器端渲染:Vue.js 可以通过服务器端渲染实现更快的页面加载速度和更好的 SEO。 Vue.js 支持多种方式的使用...

    前端vue入门及框架搭建

    Vue 是一个Javascript 框架,兼具angular.js和react.js的优点,并剔除了它们的缺点。 简化 Dom 操作 对浏览器提供的修改 Dom 结构API进行封装,只需要对数据对象进行操作,由 Vue 负责调用底层浏览器 API。 响应式...

    项目管理全资料

    绪论 7 1.1 本文的目的 7 1.2什么是项目 7 1.2.1时限性 8 1.2.2产品或服务的唯一性 8 1.3什么是项目管理 8 1.3.1项目管理的框架 9 1.4与其它管理方式的联系 10 1.5相关的工作 11...

    一个综合框架,可以分析英国塞尔赛(英国),布劳沃德县(美国)和桑托斯(巴西)沿海地区的当地决策和适应海平面上升的情况

    巴西,英国和美国之间的国际合作旨在评估当地的决策过程,并为本地城市管理人员提供空间,以考虑到行政和机构施加的历史限制,可能采取哪些行动来适应海平面上升结构。 该项目的重点是影响三个国家三个沿海社区适应...

    基于Java的管理系统的设计与实现的思路.zip

    基于Java的管理系统设计与实现是一个涉及多个步骤的复杂过程,旨在创建高效、可靠且用户友好的管理软件。这个过程从需求分析开始,明确系统的目标和功能需求。...整个项目结构清晰,便于团队协作和代码管理。

Global site tag (gtag.js) - Google Analytics