Java匹马行天下之一顿操作猛如虎,框架作用知多少?
流行框架:
框架就是开发人员定义好的一套模板,程序员只需要往模板中添加响应的代码即可,填完代码,项目就完成了。所以框架存在的意义以及我们学习框架的目的就是想办法能够让程序员快速的完成整个项目的开发。理解框架的思路可以看昨天写的博客《致Java程序员的一封信》,下面我来对各大流行框架做个梗概:
Struts
先说第一个框架Struts,它是干嘛的,原来我们写Servlet的时候不停的用Request,Response进行读取数据传输数据这样的操作,那么Struts可以让我们能够快速的完成数据的交互,但Struts也有缺点,它的整个框架的体量是比较大的,所以目前整个市场市面上使用Struts的公司并不多,但是我们用Struts可以快速入门,体验一下用框架的“酸爽”滋味。
Hibernate
再说一个框架Hibernate,它是用来帮我们完成一个持久层的这样的一个操作,什么是持久层,就是之前提到的JDBC,它把JDBC的操作都封装好了,所以Hibernate框架是一个全自动的框架,就是我们会把所有写好的那个类和数据库里面的表做一个关系映射,也就是说,你去操作类,其实就是在操作表,那这样的话,我们在写代码的时候,就不用管表怎么样了,直接去管这个类就可以了。所以Hibernate有一个很显著的效果,就是我们在想查询数据,就不需要再去找那个表了,直接找类,通过类去查询数据,也就是说,它实际上是帮我们通过那个类,帮我们映射到了那个表里面的东西,所以这时候我们操作全都是操作类。那这个时候大家想一下,Java的东西要想和数据库产生关联,是不是必须要有JDBC,所以Hibernate它的本质就是把原来我们写的JDBC的东西重新进行了一个封装,封装到我们程序员连SQL语句都不需要写,Hibernate它底层自动的帮我们去拼接SQL语句,并且它还能帮我们把SQL语句运行,运行完的结果集也不需要程序员去管,它也会自动的把这个结果集内容给你解析成Java的对象,所以它直接就能拿到结果了,因此Hibernate又被称作为一个全自动的持久层框架。但是由于它是全自动的,它的底层封装的特别多,那这时候就导致非常大的一个问题就是它的执行效率比较低,因为它封装的东西实在太多了,太冗余,太复杂了,反而降低了它的执行效率,因为它的执行效率不高,因此现在整个市场上对Hibernate的使用率也不高,从这来看,Hibernate似乎也不是一个非常重要的框架,不过在学Hibernate的过程中会学到一个非常重要的概念叫ORM,叫做对象关系映射,就是把类和数据库的表做一个映射关系,这个很重要,在后面我要提到的Mybatis,JPA,SpringData中最主要的核心都是这个ORM概念。对Hibernate大家简单了解,能够写一些基本的代码就可以了。
Spring
Spring框架大家都听过吧,这个框架特别重要,在目前整个市场上来看的话是基本上有一个一统江湖的趋势。Spring是整个Java体系里使用频率最高,稳定性最好,而且在各个领域都能遇到的一个框架。那什么是Spring呢?其实你可以把Spring理解为一个管家,如果我们不用Spring的话,我们之前写的代码实际上是杂乱无章的,这一块,那一块,然后用各种各样的关联关系把它们绑在一起,整个项目是杂乱无章的,那么我们用了Spring之后,它就把每个区域的代码进行分离,自己是自己的,然后由Spring在中间做一个调控,Spring之所以能火起来,就是因为它的做管理的理念好,它去协调各个框架,协调各块代码,这是Spring的工作。
SpringMVC
学了Spring,就来学Spring的第一个子项目叫SpringMVC,一看名字,MVC,这个在学JavaWeb的时候听过吧,SpringMVC其实就是处理Servlet里的那些内容,把那些内容给替换调了,也就是说用Spring来写MVC层的代码,这样就比较方便,简单,而且SpringMVC封装的前端处理是真的非常方便,方便到让程序员爽到不行的地步。
MyBatis
MyBatis是一个做持久层的框架,其实就是相当于替换了Hibernate,之前说Hibernate的缺点是封装的东西太多了,MyBatis就比较聪明,它知道不需要给程序员封装太多,它只封装了一半,另外一半留给程序员自己完成。那它封装了什么呢?它把从结果集里面我们查询SQL之后把结果集的内容封装到Java对象里面,这一块它保留了,然后SQL语句它不管,让程序员根据自己的需求自己写,然后它帮程序员自动执行,自动处理结果集的问题,所以MyBatis又被称为半自动的持久层框架。我们听了全自动和半自动,那手动的是谁?其实就是DBUtil和JDBC的操作。这个是纯手动,什么都要自己写,然后到MyBatis这,你写一半,它帮你干一半,而Hibernate是全自动,你什么都不用管,挺方便的,但Hibernate封装太厚重,JDBC又太麻烦,所以MyBatis恰好处在它们两个之间的一个位置,所以目前市面上使用MyBatis的公司还是特别多的。
JPA
JPA全程Java Persistence API,它叫Java持久层API,API说白了就是Java官方给的一套标准,一堆注解,然各个框架自己想办法去实现,在JPA的视线中其实Hibernate是实现最好的,因此我们在使用JPA的时候感觉很使用Hibernate一样,特别像。
SpringBoot
SpringBoot是近几年火起来的一个框架,也是Spring家族体系里面的,SpringBoot把整个Web应用,就网页的应用把它的启动放在了一个类里面,我们之前写的所有的包括Servlet,JSP包括用一些框架写的项目,这些项目想启动的话,我们需要把它放到服务器(Tomcat)中,那到了SpringBoot里面就不是这样了,你写一个很普通的Java类,在这个类上写行注解,然后右键运行Run这个类,你一运行,它就帮你启动了一个服务,Java中有很多个类,这样每个类都能右键运行,一个项目就可以把它分割成非常非常多个小的服务,其实这个概念就是所谓的叫微服务的一个基本概念,那这时候就产生了关于微服务的一个应用,SpringBoot官方曾经放出过这么一句话,就是用一百多个字符就可以搞定一个Web程序的开发,由此可见它的整个的封装的体系是非常健全的,它把Tomcat,还有Apache,Jetty这些个服务器全都封装起来了,所以我们用SpringBoot的时候就不需要Tomcat了,它内置了,里面直接带了,所以SpringBoot官方的意义其实是非常明确的,就是程序员就乖乖写代码就行了,其它的环境上的工作,SpringBoot全都提供给你了,你直接拿去用就行了。所以SpringBoot学起来还是挺简单,也挺好用的。
Maven
这个Maven不是框架,而是一个构建工具,我们用框架写的项目中需要导入大量的各种不同的jar包,这时候jar包的维护以及jar包版本的管理就会成为非常大的一个问题,如果我们用Maven,就能很好的解决这个问题了,Maven是一个项目自动的构建工具,它可以帮我们自动管理和下载jar包,而且在我们整个项目打包进行上线的时候,它也会帮我们自动打包,而且打包的时候还特别方便,把一些没用的东西给你干掉,建议好好学一下Maven,很多框架都要用到Maven。
SVN协同开发工具
我们以后在公司写项目都是团队协同的,不是一个人搞的,是很多人一起开发同一个项目,这时就需要一个能够协同的开发工具,比如一个团队有十个人,那十个人一起开发一个项目,他们的代码肯定需要放在一起,放一起的话,就需要能提交能下载,我先把代码下载下来然后进行编写,写完后再提交上去,每个人都应该有这样的操作,那这个时候就需要能够协同的开发工具,目前市面上比较常见的协同开发工具有两个,一个叫SVN,一个叫Git,SVN是一个比较老的工具了,Git是比较年轻的,就看你用哪一个了。
此篇完
以上就是关于流行框架的一个梗概了,希望能对大家有所帮助。我想应该说全面了吧,要是没全面也不要紧,后面再继续补充。
看完有收获?那么希望老铁别吝啬你的三连击哦
1、点个推荐,让更多的人看到这篇文章
2、关注我的原创微信公众号【泰斗贤若如】,第一时间阅读我的文章
3、欢迎关注我的博客
【原创声明】:本人原创:https://www.cnblogs.com/zyx110/
Java匹马行天下之一顿操作猛如虎,框架作用知多少?的更多相关文章
- Java匹马行天下——开篇
个人感言: 匹马行天下是我高中时候看过一部叫<九鼎记>的小说中的其中一个大章节标题,在整个这一章中,讲的是是主人公滕青山历经艰险,又心如磐石,一心修行,最后巅峰归来的故事.现在回想,依旧心 ...
- Java匹马行天下之教你用学汉语式方法学编程语言
Java匹马行天下之教你用学汉语式方法学编程语言 前言: 前段时间接连更新了带小白从入门到了解的几篇博客: <Java匹马行天下之编程常识知多少> <Java匹马行天下之走进编程的殿 ...
- Java匹马行天下之JavaWeb核心技术——JSP(续一)
十二.JSP表单处理 我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理.浏览器中使用 GET 和 POST 方法向服务器提交数据. GET 方法 GET方法将请求的编码信息添加在网 ...
- Java匹马行天下之J2EE框架开发——Spring—>Spring框架知多少
————也许我注定成不了一个伟大的人,但是至少我可以做一个很棒的自己.我想我现在应该做的不是瞻前顾后,而是活在当下,正确认知自己,做好自己现在的工作,努力提升自己的能力,踏踏实实地做一个程序员 一.思 ...
- Java匹马行天下之C国程序员的秃头原因
Java帝国的崛起 前言: 分享技术之前先请允许我分享一下黄永玉老先生说过的话:“明确的爱,直接的厌恶,真诚的喜欢.站在太阳下的坦荡,大声无愧地称赞自己.” <编程常识知多少> <走 ...
- Java匹马行天下之JavaSE核心技术——异常处理
Java匹马行天下之JavaSE核心技术——异常处理 异常的简介 在Java中,异常就是Java在编译.运行或运行过程中出现的错误. 程序错误分为三种:编译错误.运行时错误和逻辑错误 编译错误是因为程 ...
- Java匹马行天下之JavaWeb核心技术——JSP
JSP动态网页技术 一.JavaWeb简介 一.什么是JavaWeb? JavaWeb是用Java技术来解决相关web互联网领域的技术总称. 需要在特定的web服务器上运行,分为web服务器和web客 ...
- Java匹马行天下之 Java国出了个Java——举国欢庆
Java帝国的崛起 前言: 看庭前花开花落,宠辱不惊, 望天上云卷云舒,去留无意. 闹心的事儿,选择释怀: 纠缠的人儿,试着放下, 生活其实很美. 心若向阳,就无惧悲伤. 愿你明朗坦荡纵情豁达,有得有 ...
- Java匹马行天下之Java帝国的崛起(大结局)
Java匹马行天下之Java帝国的崛起大结局 前言: [博客*缘] 网络真情伴, 博客友谊连. 笑中藏泪暖中寒. 回想那些悲喜, 苦涩也缠绵. 往事难回首, 新篇染旧言. 世间多少梦能全. 感谢相牵, ...
随机推荐
- Python基础(十五)
今日主要内容 模块初识 模块导入 模块路径 自定义模块 内置模块(标准库) time datetime random sys os funtools 一.模块初识 (一)什么是模块 其实我们创建的每一 ...
- java工作错误总结
1.访问接口出现以下错误 com.alibaba.dubbo.rpc.RpcException: Forbid consumer 192.168.200.126 access service com. ...
- P5369 [PKUSC2018]最大前缀和
状态压缩 P5369 题意:求所有排列下的最大前缀和之和 一步转化: 求最大前缀和的前缀由数集S组成的方案数, 统计答案时直接乘上sum(S)即可 考虑最大前缀和的性质: 设最大前缀和为sum[i] ...
- ouc_software第一次作业:OUC二手物品交易
一.前言 1.项目名称:ouc二手物品交易 2.项目简介 (1)创办一个网上校内二手物品交易平台,供校内师生进行交易二手物品. (2)经过身份认证的用户,可将自己想要交易的二手物品发布至平台,供其他用 ...
- 快学Scala 第十一课 (类继承)
类继承: class People { } class Emp extends People{ } 和Java一样,final的类不能被继承.final的字段和方法不能被override. 在Scal ...
- springmvc Controller接收前端参数的几种方式总结
(1) 普通方式-请求参数名和Controller方法的参数一致 @Controller @RequestMapping("/param") public class TestPa ...
- Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用
多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程. 一.ThreadPoolTaskExecutor ...
- XCTF-CAT
果然还是我太菜了呜呜呜,这道题仍然是没有自己做出来.哎. 这一道用的并不是PHP的环境,而是用Python中的Django编写的. 记得做过类似的一道题目.来源于MOCTF中的网站扫描器,当时做完后其 ...
- Kafka安装-Linux版
1. 准备 1.1 Kafka Kafka版本采用0.10.2.1,下载0.10.2.1文件 http://kafka.apache.org/downloads 1.2 JDK JDK ...
- Real Beauty真正的美丽
[1]Beauty is only skin-deep. Physical beauty can only be held fleetingly. Real beauty is much deeper ...