工作到现在也三年多了,现在总结下工作过程中使用的框架和技术,开发工具以及项目结构的变化。
这里并不会去详细的去叙述哪一方面,只是简单的描述下。好了,开始。
组合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方便很多,但这玩意儿收费啊。
相关推荐
针对这一问题,本文介绍了一种利用Visual Studio(以下简称VS)中的模板和策略相结合的方式,以实现项目框架结构的有效统一和维护。 #### 模板与策略的概念 ##### 模板 模板是在VS中提供的一项功能,用于创建可...
在Android应用开发中,构建一个实用的项目框架是至关重要的,它可以帮助开发者高效地组织代码,提高项目的可维护性和可扩展性。以下是对标题、描述和标签中的知识点的详细解释: 1. **自定义Android项目底部任务栏*...
"一个VSCode可视化项目框架"指的是利用VSCode及其相关插件构建的一个特定于可视化的项目结构和工作流程,旨在帮助用户更加直观地理解和操作项目中的数据和元素。 【描述】:一个VSCode可视化项目框架 这样的框架...
在“项目管理培训项目框架思维方法”中,我们探讨了如何有效地制定和实施项目计划。以下是一些关键知识点: 1. **定义项目目标与范围**: - 项目目标是项目的核心,它明确了项目要达成的结果。同时,项目范围定义...
在iOS开发过程中,构建一个规范化的项目框架是至关重要的,它可以帮助开发者更好地组织代码,提高项目的可维护性和可扩展性。"JH iOS项目框架脚本"正是一种用于自动化创建这种框架的工具。该脚本简化了手动创建目录...
Vue 项目常用组件和框架结构介绍 Vue 项目的基础结构通常包括 Vue 本身、Vue Router 和组件(Component),这三个核心部分构建了一个基本的单页应用(SPA)框架。Vue 提供了数据双向绑定、指令系统等特性,Vue ...
在CRM项目框架中,反射机制可以用于实现动态加载和实例化业务组件,提高代码的动态性和可配置性,例如在服务层根据配置动态调用不同业务逻辑。 结合这三种技术,我们可以构建出一个灵活、可扩展的CRM项目框架。六层...
"安卓项目框架.zip" 提供了一个示例,展示了如何在ScrollView中嵌套ListView,再进一步嵌套GridView,实现复杂的布局结构,同时包含了上下拉刷新和加载更多的功能。这个框架可以帮助开发者更好地理解和实践这种复杂...
在`jsp+servlet+mysql`项目框架中,MySQL通常用于存储和检索应用程序的数据。Servlet通过JDBC(Java Database Connectivity)与MySQL通信,执行CRUD(Create, Read, Update, Delete)操作。 **项目框架搭建** 在...
在这个过程中,项目框架思维方法扮演着至关重要的角色。以下是对项目管理培训中提到的关键知识点的详细解释: 1. **定义项目目标与范围**:项目目标是项目的核心,它明确了项目要达成的结果。同时,项目范围定义了...
本文将深入探讨“项目架构搭建”这一主题,重点关注在Android项目框架中的实践和设计原则。 首先,我们要理解什么是项目框架。项目框架可以看作是软件开发的基础结构,它定义了项目的组织方式、组件之间的交互以及...
在IT行业中,"项目框架"通常指的是用于构建软件或应用程序的一种结构化模板,它为开发者提供了基础架构,以便更高效地进行开发工作。"项目框架1.01"可能是一个特定版本的框架,包含了用于创建特定类型项目所需的一...
AndLang框架是一款专为Android开发者设计的工具,旨在加速项目的初期构建过程,让开发者能够更高效地搭建项目框架。这款框架包含了一系列预先封装好的组件、模块和最佳实践,旨在简化常见的开发任务,提高代码的可...
Android项目框架是一个全面的开发结构,它集合了各种组件、工具和最佳实践,旨在提高开发效率,优化代码质量,并提供可扩展性和维护性。在"整理的android项目框架,提供以后使用"这个资源中,我们可以预见到包含了一...
以上是对"MyArchitectProject"项目框架的一般性解读,具体实现细节将取决于项目的实际代码和配置。在实际使用中,开发者需要根据自身的需求对框架进行调整和扩展,以构建出满足特定需求的Android应用。
总结来说,《项目管理-项目管理基础和框架》涵盖的内容广泛,从基本概念到实际操作,从历史演变到当前趋势,旨在为学生提供全面的项目管理知识,以适应不断变化的商业环境并提升项目成功的可能性。通过深入学习和...
考虑到大多数关键业务流程都需要工作流的支持,本研究采用关系结构的理念来设计工作流引擎,并详细介绍了相关的框架模型、机构模型、信息模型和控制模型的设计原理及其具体的表示和实现方法。应用此方法可显著缩短...
本文将详细介绍如何使用Flask搭建一个功能丰富的Web项目框架,并涵盖描述中提到的各项技术。 1. **模块化设计**:Flask支持模块化编程,通过蓝prints(blueprints)实现应用的分块管理。你可以为每个功能或子系统...