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是比较年轻的,就看你用哪一个了

原文地址:https://www.cnblogs.com/522-1997/p/11804255.html

时间: 2024-10-09 10:21:24

Java匹马行天下之一顿操作猛如虎,框架作用知多少?的相关文章

匹马行天下之逆风翻盘篇——塞翁失马焉知非福

匹马行天下之逆风翻盘篇——塞翁失马焉知非福 在软件学院学了两年编程,敲了两年代码,现在大二快结束了,总想跟自己说点什么,却不知道该说什么,感觉自己一直挺努力的,但是看不到什么实质的成果,感觉满足不了内心深处的那点虚荣心,没有什么代表性的成果说服自己.唯一我觉得能让自己有点安心的就是在博客园我写的博客了吧,此篇非技术分享,Java匹马行天下为技术分享,匹马行天下则为个人分享,有鸡汤,有励志,有学习方法,思维,技巧,我在心中画了一个很大的圆,希望我能坚持,用行动填充心中的大圆.此篇为励志分享,送给不

匹马行天下——没有无缘无故的爱和恨,没有无缘无故的编程

没有无缘无故的爱和恨,没有无缘无故的编程 前言: 想这世间,没有无缘无故的爱,也没有无缘无故的恨,一切都有有原因的,我想编程亦是如此,技术时常更新,程序员时常学习,随着时间的推移,程序员发际线的增高,生活无处不编程,未来必将是编程的天下,大势所趋,人工智能的时代已经到来,程序员还会少吗?敢问路在何方,路在脚下,人人心中的压力都是来自于自己不努力不积极而又不甘于现状,少给自己找借口,多给自己找方法,幸运女神不是人人都能遇到的,还是正确面对现实,我命由我不由天,人生赢在转折处,改变从现在开始. 一览

Python匹马行天下之面向对象

概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 while True:     if cpu利用率 > 90%:         #发

Python匹马行天下之运算符

什么事运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. Python语言支持以下类型的运算符: 1.算数运算符 字面意思,算数运算符也就是拿来对操作数进行计算的. 以下假设变量a为10,变量b为21: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 31 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11 * 乘 - 两个数相乘或是返回一个被重复若干次的字

Python匹马行天下之_循环

一.while循环 如果条件成立(true),重复执行相同操作,条件不符合,跳出循环 while   循环条件: 循环操作 (1)while循环示例 例:输入王晓明5门课程的考试成绩,计算平均成绩 1 i=1 # 初始化循环计数器i 2 sum=0 # 初始化总成绩变量 3 while i<=5: # 从i为1开始到5,重复执行一共5次接受考试成绩.求和的操作 4 print ('请输入第%d门课程的考试成绩'%i) # 提示用户输入成绩,其中用到了格式化输出,%d的取值随i的值显示,第1门课程

一顿操作猛如虎 “模型驱动开发”了解一下

前言导读 当下企业软件应用开发面临着需求复杂多变.新的需求和系统不断增长,软件系统变得越来越复杂,普通的软件开发方式难以快速满足用户需求.为了解决这些问题,就出现了很多新的方法,其中最突出的一个就是模型驱动开发 MDD (Model Driven Development). 基于高度业务模型驱动开发MDD,通过使用高度抽象的领域业务模型作为构件,完成代码转换实现或各种模型驱动引擎配置支撑,降低开发成本,应对复杂需求变更.其基本思想是让开发中心从编程转移到高级别抽象中去,通过模型转成代码或其他构件

java编码 100匹马 100块瓦

我给分为了两块  一个专门写代码    一个专门输出  看结果  用到太多的 if   还有一个简单的 没有用到太多的 if 判断 没有写注释  知识点都在我发的那些博客里面  如果还是有不懂的  可留言  补上注释 代码类 :  if 判断的 /** *    问:有100匹马 有100片瓦, *          大马能托3片瓦,中马能托2片瓦,三只小马能托一片瓦,正好这100匹马,把这100片瓦拉完. *                  问有多少匹大马,多少匹中马,多少匹小马? */pu

25匹马的角逐

问题是这样的:一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛.假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问最少 得比多少场才能知道跑得最快的5匹马. 注意: "假设每匹马都跑的很稳定" 的意思是在上一场比赛中A马比B马快,则下一场比赛中A马依然比B马快. 稍微想一下,可以采用一种 竞标赛排序(Tournament Sort)的思路. 见<选择排序 > (1) 首先将25匹马分成5组,并分别进行5场比赛之后得到的名次排

图解25匹马的选马问题

题目一:对于25匹马,有一个赛场,赛场有5个跑道,不使用计时器(也就是每次比赛只得到本次的比赛的顺序),试问最少比多少场才能选出最快的三匹马? 思路: 0)前5场:这个题相对比较简单,25匹马至少要全部参加比赛,所以把25匹马分成5组进行比赛.这样我们就可以得到比赛结果如下: 1)选整体第1名:现在我们要选整体第一名,可能成为整体第1名的马匹为:{A1.B2.B3.B4.B5},那么第6场比赛为[A1,B1,C1,D1,E1] 比赛结果:第6场得到整体第1名 2)选整体第2.3名:根据矩阵关系,