java三大基本框架,java的几大框架

  java三大基本框架,java的几大框架

  Struts、Hibernate和Spring是我们Java开发中常用的关键,它们针对不同的应用场景给出了最合适的解决方案。但是你知道这些知名的框架最初是怎么产生的吗?

  推荐课程:Java教程。

  如何解决写爬虫IP受阻的问题?立即使用。

  我们知道,传统的Java Web应用是由JSP Servlet Javabean实现的,它实现了最基本的MVC层,把程序结构分成几层,包括前台显示的JSP,流程逻辑控制的Servlet,数据封装的Javabean。但是这种结构还是存在一些问题:比如很多Java代码需要在JSP页面中嵌入符号,导致页面结构混乱;Servlet和Javabean负责大量的跳转和操作,紧密耦合,程序复用程度低等。

  java三大框架是:

  1、Struts

  为了解决这些问题,Struts框架出现了,它是一个完美的MVC实现。它有一个中央控制类(一个Servlet)。针对不同的业务,我们需要一个负责页面跳转和后台逻辑操作的Action类,一个或几个负责数据输入和输出显示的JSP页面,一个负责Action和JSP之间传递数据的Form类。Struts框架提供的一组标签可以在JSP中使用,就像使用HTML标签一样简单,但是可以完成非常复杂的逻辑。这个JSP页面中不需要包含一行Java代码。

  但是把所有的操作逻辑都放在Struts的Action中,会使得Action类的复用度低,逻辑混乱,所以人们通常把整个Web应用分成三层,Struts负责显示层,它调用业务层完成操作逻辑,业务层调用持久层完成数据库的读写。

  当使用JDBC连接读写数据库时,我们通常会打开数据库连接,使用复杂的SQL语句进行读写,然后关闭连接。获得的数据需要转换或者封装后再传输到外界,这是一个非常复杂的过程。

  2、Hibernate

  这时,Hibernate框架出现了,它要求你创建一系列持久类。每个类的属性可以简单地看作与数据库表的属性一一对应。当然也可以实现关系数据库各种表的对应。当我们需要相关操作的时候,就不用关注数据库表了。不用一行一行的查询数据库,只需要持久类就可以完成添加、删除、查询等功能。让我们的软件开发真正面向对象,而不是面向混乱的代码。我的感觉是,与JDBC相比,使用Hibernate减少了80%的编程量。

  现在我们有三层,但是每层之间的调用是什么?比如显示层的Struts需要调用一个业务类,就需要新建一个业务类,然后使用;业务层需要调用持久层的类,需要使用一个新的持久层类。用这种新的方式互相调用是软件开发中最糟糕的设计。简单来说,调用者依赖于被调用者,两者之间存在强耦合。如果我想在其他地方重用一个类,这个类所依赖的其他类也需要包含在内。程序变得非常混乱,各个类互相依赖,互相调用,复用程度极低。如果一个类被修改,许多依赖它的类都会受到影响。因此,出现了Spring框架。

  3、Spring

  Spring的作用是完全解耦类之间的依赖关系。如果一个类依赖于某个东西,那么它就是一个接口。至于这个接口怎么实现,无所谓。只要得到一个实现这个接口的类,就可以很容易地将实现的类注入到通过xml配置文件调用接口的类中。所有类之间的这种依赖性完全被配置文件所取代。所以Spring框架的核心就是所谓的依赖注入和控制反转。

  目前的架构是Struts负责显示层,Hibernate负责持久层,Spring负责中间业务层。这种结构是目前国内最流行的Java Web应用架构。另外,由于Spring使用的依赖注入和AOP(面向方面编程),其内部模型非常优秀,以至于Spring本身就实现了一个使用依赖注入的MVC框架,称为Spring MVC。同时,为了处理好事情,Spring集成了Hibernate,使得事情管理从Hibernate的持久层转移到业务层,使用起来更加方便和强大。

  Struts框架起步于2000年,技术已经相当成熟。目前,Struts框架是全球Java开发中当之无愧的显示层技术之王。它拥有庞大的用户群和优秀的开发团队。这也是国内大多数Java软件公司对新员工的基本要求。

  其他

  Java这个术语似乎注定要与开源紧密联系在一起。在Java世界里,每天都会出现大量的开源技术。因为它是开源的,技术中的问题和不足很快就会被发现。开源软件提供商会快速修改或扩展这些技术,因此版本更新很快,几周或几天后就会有新版本出来。

  当我们在技术路线上选择Java的时候,我们也选择了你必须不断学习,时刻关注最新的技术,了解它们,看看它们是否适合你的需求,然后学会使用它们。

  Java SSM的组合也很不错,可以了解一下。这就是三个java框架的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: