框架就是开发人员定义好的一套模板,程序员只须要往模板中添加响应的代码便可,填完代码,项目就完成了。因此框架存在的意义以及咱们学习框架的目的就是想办法可以让程序员快速的完成整个项目的开发。下面我来对各大流行框架作个梗概:前端
先说第一个框架Struts,它是干吗的,原来咱们写Servlet的时候不停的用Request,Response进行读取数据传输数据这样的操做,那么Struts可让咱们可以快速的完成数据的交互,但Struts也有缺点,它的整个框架的体量是比较大的,因此目前整个市场市面上使用Struts的公司并很少,可是咱们用Struts能够快速入门,体验一下用框架的“酸爽”滋味。程序员
数据库
Spring框架你们都听过吧,这个框架特别重要,在目前整个市场上来看的话是基本上有一个一统江湖的趋势。Spring是整个Java体系里使用频率最高,稳定性最好,并且在各个领域都能遇到的一个框架。那什么是Spring呢?其实你能够把Spring理解为一个管家,若是咱们不用Spring的话,咱们以前写的代码其实是杂乱无章的,这一块,那一块,而后用各类各样的关联关系把它们绑在一块儿,整个项目是杂乱无章的,那么咱们用了Spring以后,它就把每一个区域的代码进行分离,本身是本身的,而后由Spring在中间作一个调控,Spring之因此能火起来,就是由于它的作管理的理念好,它去协调各个框架,协调各块代码,这是Spring的工做。服务器
学了Spring,就来学Spring的第一个子项目叫SpringMVC,一看名字,MVC,这个在学JavaWeb的时候听过吧,SpringMVC其实就是处理Servlet里的那些内容,把那些内容给替换调了,也就是说用Spring来写MVC层的代码,这样就比较方便,简单,并且SpringMVC封装的前端处理是真的很是方便,方便到让程序员爽到不行的地步。框架
MyBatis是一个作持久层的框架,其实就是至关于替换了Hibernate,以前说Hibernate的缺点是封装的东西太多了,MyBatis就比较聪明,它知道不须要给程序员封装太多,它只封装了一半,另一半留给程序员本身完成。那它封装了什么呢?它把从结果集里面咱们查询SQL以后把结果集的内容封装到Java对象里面,这一块它保留了,而后SQL语句它无论,让程序员根据本身的需求本身写,而后它帮程序员自动执行,自动处理结果集的问题,因此MyBatis又被称为半自动的持久层框架。咱们听了全自动和半自动,那手动的是谁?其实就是DBUtil和JDBC的操做。这个是纯手动,什么都要本身写,而后到MyBatis这,你写一半,它帮你干一半,而Hibernate是全自动,你什么都不用管,挺方便的,但Hibernate封装太厚重,JDBC又太麻烦,因此MyBatis刚好处在它们两个之间的一个位置,因此目前市面上使用MyBatis的公司仍是特别多的。微服务
JPA全程Java Persistence API,它叫Java持久层API,API说白了就是Java官方给的一套标准,一堆注解,然各个框架本身想办法去实现,在JPA的视线中其实Hibernate是实现最好的,所以咱们在使用JPA的时候感受很使用Hibernate同样,特别像。工具
SpringBoot是近几年火起来的一个框架,也是Spring家族体系里面的,SpringBoot把整个Web应用,就网页的应用把它的启动放在了一个类里面,咱们以前写的全部的包括Servlet,JSP包括用一些框架写的项目,这些项目想启动的话,咱们须要把它放到服务器(Tomcat)中,那到了SpringBoot里面就不是这样了,你写一个很普通的Java类,在这个类上写行注解,而后右键运行Run这个类,你一运行,它就帮你启动了一个服务,Java中有不少个类,这样每一个类都能右键运行,一个项目就能够把它分割成很是很是多个小的服务,其实这个概念就是所谓的叫微服务的一个基本概念,那这时候就产生了关于微服务的一个应用,SpringBoot官方曾经放出过这么一句话,就是用一百多个字符就能够搞定一个Web程序的开发,因而可知它的整个的封装的体系是很是健全的,它把Tomcat,还有Apache,Jetty这些个服务器全都封装起来了,因此咱们用SpringBoot的时候就不须要Tomcat了,它内置了,里面直接带了,因此SpringBoot官方的意义实际上是很是明确的,就是程序员就乖乖写代码就好了,其它的环境上的工做,SpringBoot全都提供给你了,你直接拿去用就好了。因此SpringBoot学起来仍是挺简单,也挺好用的。学习
这个Maven不是框架,而是一个构建工具,咱们用框架写的项目中须要导入大量的各类不一样的jar包,这时候jar包的维护以及jar包版本的管理就会成为很是大的一个问题,若是咱们用Maven,就能很好的解决这个问题了,Maven是一个项目自动的构建工具,它能够帮咱们自动管理和下载jar包,并且在咱们整个项目打包进行上线的时候,它也会帮咱们自动打包,并且打包的时候还特别方便,把一些没用的东西给你干掉,建议好好学一下Maven,不少框架都要用到Maven。开发工具
咱们之后在公司写项目都是团队协同的,不是一我的搞的,是不少人一块儿开发同一个项目,这时就须要一个可以协同的开发工具,好比一个团队有十我的,那十我的一块儿开发一个项目,他们的代码确定须要放在一块儿,放一块儿的话,就须要能提交能下载,我先把代码下载下来而后进行编写,写完后再提交上去,每一个人都应该有这样的操做,那这个时候就须要可以协同的开发工具,目前市面上比较常见的协同开发工具备两个,一个叫SVN,一个叫Git,SVN是一个比较老的工具了,Git是比较年轻的,就看你用哪个了spa