三大框架先学哪个

三大框架先学哪个,第1张

三大框架先学哪个 Java 三大框架SSH,自学先学哪个JAVA的三大框架是什么?如何进行学习的呢?什么和什么框架是最基本的框架java三大框架先学习哪个顺序应该怎样啊

struts2hibernate spring 记得给个满意的回答

Java三大框架SSH,自学先学哪个?Java新手如何学习Spring、Struts、Hibernate三大框架?

学习Spring、Struts和Hibernate是很多初学者都会经历的阶段,要掌握这三个框架首先要清楚这三个框架都分别解决了哪些问题,同时要知道这三大常见框架的使用场景和框架的内部实现细节。

下面我将分别跟头条的朋友探讨一下这三个框架的细节,从它们分别能解决什么问题入手,然后进一步分析它们的组成结构。

Java基础知识准备要开始学习Spring、Struts和Hibernate这三个框架,需要做充足的Java基础知识学习,知道这些知识才能知道为什么需要使用这三个框架。

下面列出学习三大框架之前的基础知识:Java面向对象开发基础。

这部分内容包括类、对象、方法、属性四大概念,以及封装、继承、多态三大特征的使用。

要清晰面向对象的开发过程:类的定义、对象的创建、方法的调用。

Java *** 作数据库。

这部分内容包括Java如何与数据库进行沟通,如何通过java完成数据库的增删改查等基本 *** 作。

这部分内容还包括如何使用预处理模式提高效率,如何使用CallableStatement完成存储过程调用,以及如何使用数据库连接池来优化数据库 *** 作。

当然还要清楚使用DAO模式来规范化代码结构,而这也为使用Hibernate打下了一定的基础。

Java web开发基础。

这部分内容包括Servlet、JavaBean、JSP的开发、调试、部署,清楚web开发的范围定义以及web容器的配置管理。

要清楚web MVC结构,能使用Model2结构进行web程序开发,而这为使用Struts和Spring打下了基础。

(如果这部分知识你还不太了解可以关注我,我在头条上不断更新关于java开发的系列文章)为什么要使用Hibernate要清楚为什么使用Hibernate,首先要明白Java *** 作数据库存在哪些问题,这些问题应该怎么解决?为了描述这些问题,首先我们看一下如何使用JDBC完成数据库 *** 作,我们看一个图示:这个图示描述了Java通过JDBC(一个专门 *** 作数据库的Java API)来 *** 作各种数据库的结构图,图中Java代码直接完成对数据库的 *** 作。

接下来我们再看一下 *** 作的原理图,也就是java *** 作数据库的细节描述图:通过这张原理图,我们可以清楚的看到java如何使用JDBC完成与数据库的具体交互过程,使用JDBC *** 作数据是Java的官方标准,在经过不断的更新后,目前的JDBC性能已经得到了显著的提高。

在具体开发数据库 *** 作的时候,我们通常会采用DAO模式,使用DAO的目的是模块化数据库 *** 作,方便团队之间的协同化开发,为了描述DAO,我们看一张图示:通过图示我们能发现,DAO位于业务层和数据库的中间,可以说它完成了一个映射的任务。

这个映射就是从面向对象的Java代码向面向关系的数据提供了一个映射,再简单点说就是:DAO可以让Java程序员以面向对象的方式 *** 作面向关系的数据库。

Hibernate的作用与DAO的作用是一样的,就是完成这个映射层的创建,可以说Hibernate是DAO的一个通用的实现。

通过Hibernate程序员可以很方便的为程序创建与不同数据库产品之间的映射,从而让程序员从开发DAO实现的细节工作中解放出来,这就是为什么要使用Hibernate的原因。

学习Hibernate并不复杂,如果你已经有过编写DAO实验的经验,那么使用Hibernate能让你十分愉快,因为你再也不用编写麻烦的“封包”和“拆包”代码了。

为什么要使用Struts和Spring为什么把Struts和Spring放在一起呢,因为它俩关系密切(其实Spring完全可以独立一站式解决问题),放在一起解释更加清晰。

在学习java web开发的时候,会学习到如何使用基于MVC结构的web开发,具体点就是使用Servlet+Javabean+JSP来完成Model2结构的开发,结构图如下所示:图中完成了使用java代码的方式来编写MVC结构的程序,MVC的开发模式是大家公认的有效且经典的开发结构,目前基本上web开发的标准配置。

但是在大家自己编写MVC结构的时候,会比较麻烦(如果这部分内容不清楚,关注我,我会在后续文章中详细阐述如何使用java代码完成mvc开发),因为所有的导航代码都需要自己编写,将来调整的时候也非常麻烦。

Struts就很好的解决了这个问题,程序员可以通过配置来完成程序的调整,节省了大量的编码时间,也让团队合作开发变得更容易了。

简单的说Struts就是完成了程序MVC结构的实现。

那么在上图中,我们还会发现一个问题,在web容器中还运行着Model组件,而通常Model组件就是JavaBean组件。

也就是说web容器既提供了web组件的池功能,又提供了业务组件的池功能,这势必会影响业务组件的运行性能。

为了解决这个问题,出现了两个阵营:官方标准采用了大名鼎鼎的EJB,解决方案如图所示:图中清晰的呈现了EJB server,已经把业务模块从web容器中剥离出来了。

而另一个解决方案就是Spring,它也是池化业务模块,只不过Spring更加轻量级,所以得到了广大程序员的喜爱。

也就是从此,java开发背上了“较重”的标签。

但是EJB目前仍然有它自己的特点,虽然重,但是功能也十分强大。

所以简单的说就是Struts完成了MVC框架的实现,Spring提供了业务模块的轻量级容器。

学习步骤其实写到这,大家已经清楚了学习的步骤,因为文章的描述过程就是一个顺序的学习步骤。

在简单总结一下:学习基础开发学习数据库开发学习web开发学习Hibernate学习Struts学习Spring整合建议多做实验,也要经常到三大框架的官网多看一看,如果应用基础好的读者,可以到这几个框架的官方社区多看看,社区里有很多能力很强的开发者,跟他们交流一定能让你受益匪浅。

如果大家觉得这篇文章帮助你了解这三大框架,那么请关注我,跟我一起学习java知识,学习互联网知识。

谢谢!

三大框架可以说是Java的必修课了,几乎所有的Java后台程序员都有接触过。

其实万变不离其宗,学习框架最重要的是学习原理,剖析完原理以后对于框架可以说有个深层次的理解了。

Springspring其实来说就是一个大容器。

下面就是spring的三大核心思想:ioc(控制反转):首先我们举一个没有控制反转的例子。

当我们在service层调用dao层的函数时,通常都会实例化一个dao层的对象,然后通过对象来调用函数,而spring的控制反转就是将这个对象配置到框架(也就是容器)中去,这时我们需要使用这个对象是就向容器去要这个对象而不是我们主动去创建一个,也就是说这个对象的控制权是交给了框架(也可以说交给了配置文件),这就实现了控制反转。

其好处也是不言而喻,代码可读性高,维护方便,结构清晰等等。

DI(依赖注入):其实这个可以理解为有值的ioc,我们在配置文件里配置对象属性的值,例如我们在配置一个user对象时,可以给它的age,name等属性进行赋值,也可以将其他对象注入到User中,而这个方式也可以降低耦合度。

Aop(面向切面):以前我们都是面向对象方式来编程的,面向切面可能比较陌生。

面向切面其实我们也运用过,例如filter,所有的请求都通过过滤器,这就是面向切面,下面这张图可以很好帮助我们理解这个思想。

而spring中可以使用aop来进行事务管理,日志等 *** 作struts2:我们在传统开发时,要建立大量的servlet,不好更改,更不好管理,而使用struts2就是使用一个前端控制器来管理所有的请求,对于管理和处理请求非常的方便。

下面上两张图,对于理解原理很有帮助Hibernate:Hibernate是数据持久层的 *** 作,也于传统开发进行对比,原来在 *** 作数据时需要写大量的get和set方法获取和更改数据,很是麻烦,而使用Hibernate可以完全使用对象的方式来 *** 作,代码简洁高效便于开发。

Hibernate的原理基于数据的三大状态,下面是在我博客上写过的,截两张图说明一下原理。

然后就是Hibernate的一级缓存,这个也比较好理解,一级缓存就是将数据放入缓存区(内存),当我们两次查询同一条数据时,第二次就不会执行查询语句,直接从缓存中调取,这就很大的提高了运行效率。

最后就是快照区,Hibernate内置一个快照区,当我们将数据存入一级缓存时,也会将数据存入快照区一份,当我们commit()提交事务时,快照区和一级缓存会进行比较,如果不同就会将数据更新。

不管是学框架还是学语言学底层结构对于理解很有帮助,如果对于这些原理不太能看懂的话可以先看看视频写一些demo学着用用,有了一定了解后再去剖析原理。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/3262310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-04
下一篇 2022-10-04

发表评论

登录后才能评论

评论列表(0条)

保存