java框架都有哪些 java开发常用的框架

一.宋承宪1.基本概念SSH框架是JAVA EE中三个框架的集成,由Struts、Spring和Hibernate框架组成,是java web流行的开源框架。集成SSH框架的系统分为(Struts2 & # 8211控制;春天&#

本文最后更新时间:  2023-03-21 12:04:24

一.宋承宪

1.基本概念

SSH框架是JAVA EE中三个框架的集成,由Struts、Spring和Hibernate框架组成,是java web流行的开源框架。

集成SSH框架的系统分为(Struts2 & # 8211控制;春天–脱钩;冬眠–操作数据库)来帮助开发者在短时间内搭建一个结构清晰、易拿易维护的web应用。Struts作为系统的整体基础框架,负责MVC的分离。在Struts框架的模型部分,控制业务跳转,使用hibernate框架支持持久层。spring管理Struts和hibernate。

2、支柱2

(1)基本概念

Struts2是基于MVC设计模式的web应用框架,相当于一个servlet。在MVC设计模式中,Struts2作为控制器来建立模型和视图之间的数据交互。Struts2集成了webwork和Struts1。Struts2以webwork为核心,使用拦截器机制处理用户请求。这种设计使得业务逻辑控制器与servletAPI完全分离。

(2)2)struts 2框架的运行结构

打开百度APP看高清图片

分析:客户端向服务器发送请求(HttpServletRequest)。服务器收到请求后,先进入web.xml配置文件,看是否配置了过滤器,发现有带Struts2的过滤器,然后找到struts.xml配置文件,在struts.xml配置文件中定义一个动作,再找到action类。该类继承ActionSupport接口,实现execute()方法,并向struts.xml配置文件返回字符串“success”。struts.xml配置文件的动作默认情况下会调用action类的execute()方法。当结果接收到返回的字符串时,结果将调用您指定的jsp页面来呈现结果,并最终响应客户端。

(3)支柱2的优点

实现了MVC模式,层次结构清晰,程序员只需要关注业务逻辑的实现。

丰富的标签库大大提高了开发效率。

Struts2提供了丰富的拦截器实现。

通过配置文件,可以掌握整个系统各部分之间的关系。

异常处理机制,只需要在配置文件中配置异常映射来响应异常。

Struts2具有很高的可扩展性。

面向部分编程的思想也很好地体现在Struts2中。

它反映了拦截器的使用。拦截器是一个个小的功能模块。用户可以将这些拦截器组合成一个大的拦截器。这个合成的拦截器就像一个单独的拦截器一样,只需要把它配置成一个动作。

(4)4)支柱2的缺点:

验证是复杂的,并且多个字段返回不同的错误。

安全性太低

获取参数比较麻烦。

2、春天

Spring是一个开源开发框架,一个轻量级控制反转(IoC)和面向方面(AOP)的容器框架。

Spring主要用于开发java应用和构建J2EE平台的web应用。其核心是提供一种新的机制来管理业务对象及其依赖关系。

(2)2)弹簧流程图

解析:在Struts结构图的基础上增加了spring的流程图,在web.xml配置文件中增加了spring的监听器,在struts.xml配置文件中增加了监听器。

“& lt常量名称= ”struts.objectFactory & # 8221value = & # 8221春天”/>

它告诉Struts2 runtime使用spring来管理对象,spring在里面主要做的就是注入实例,所有需要类的实例都由spring来管理。

(3)弹簧的优点

容器:spring是一个容器,它包含并管理对象的生命周期和配置。您可以配置如何创建每个bean。基于一个可配置的原型,您的bean可以创建一个单独的实例,或者在您每次需要时生成一个新的实例。

AOP支持:Spring提供了对AOP的支持,允许一些常见的任务,比如安全、事物、日志等。,集中处理,从而提高程序的可重用性。

轻量级框架:spring是一个轻量级框架,它的基本版本是关于2M的。

控制:spring通过控制反转实现松耦合。它们给了它们依赖,而不是对象本身,这有利于解耦和简化开发。

方便的程序测试:spring提供Junit4支持,通过注释测试spring程序很方便。

降低java EE API的使用难度:spring为一些在java EE开发中非常难以使用的API(如JDBC)提供了封装,大大降低了这些API的应用难度。

方便各种优秀框架的集成:spring内部提供了对各种优秀框架(如Struts、mybatis)的直接支持。

支持声明式事务处理:事务管理只需要通过配置就可以完成,不需要手工编程。

(4)弹簧的缺点

依赖,反思影响过程。

过于依赖设计模式。

控制器太灵活了。

不支持分布式应用程序。

春天的常见评论(绝对经典)

3、冬眠

Hibernate是一个开源的对象关系映射框架,它用一个非常轻量级的对象封装了JDBC。它建立了POJO和数据库表之间的映射关系,是一个全自动的orm框架。Hibernate可以自动生成SQL语句并自动执行,让Java程序员可以随意用对象编程的思维操纵数据库。Hibernate可以用在任何使用JDBC的场合,不仅可以用在Java客户端程序中,也可以用在Servlet/JSP的Web应用中。最具革命性的是,Hibernate可以取代EJB J2EE架构中的CMP,完成数据持久化的重任。

(2)hibernate的核心组成和执行流程图

(3)hibernate的优点(3)休眠的优势

封装了JDBC访问数据库的代码,大大简化了数据访问层繁琐的重复代码。

Hibernate是一个优秀的ORM实现。他大大简化了DAO层的编码工作,将软件开发人员从大量相同的数据持久层相关编程工作中解放出来,使开发更加面向对象。

持久性是具有持久状态和业务功能的单线程对象,它的生存期很短。这些对象可能是普通的javabeans/POJO,(POJO概念,plain普通java对象,simple java对象,可以简单理解为简单的实体类实体。)此对象不实现第三方框架或接口。唯一特别的是,它们与会话相关联。一旦该会话关闭,这些对象将离开持久状态,以便它们可以被应用程序的任何层自由使用。

事务应用用于指定原子操作单元作用域的对象,单线程,生命周期短。它从具体的JDBC、JTA(java transaction API,JTA允许应用程序执行分布式事务处理,访问和更新两个或多个网络计算机资源中的数据,JDBC驱动程序的JTA支持大大增强了数据访问能力)和CORBA(公共对象请求代理架构)中抽象出应用程序。通用请求代理架构,简而言之,CORB允许应用程序与其他应用程序进行通信)。在某些情况下,一个会话可能包含多个事务对象,这是打开和关闭事务边界所必需的。

它是非侵入性的,重量轻。

它具有良好的可移植性,支持各种数据库。如果更改数据库,可以只更改配置文件中的配置,而不更改hibernate代码。

缓存机制,提供一级缓存和二级缓存。

一级缓存:它是一个会话级缓存。当会话进行查询操作时,它会将该操作的结果放入一级缓存中。如果会话在短时间内再次做同样的操作,那么hibernate会直接从一级缓存中取出,而不是去数据库取数据。

二级缓存:是sessionFactory级别的缓存,即查询时会将结果缓存在二级缓存中。如果由同一个sessionFactory创建的会话执行相同的操作,hibernate将从二级缓存中取出结果,而不是连接到数据库。

(4)冬眠的缺点

持久层的封装过于完整,导致开发者无法优化SQL,也无法灵活应用原生SQL。

批量数据处理较弱。

在框架中使用ORM原理会导致过于复杂的配置、庞大的项目和持续的维护问题。

Hibernate实现CRUD(附项目源代码)

第二,SSM

SSM架构是由三层组成的框架,分别是Spring、SpringMVC和MyBatis。Spring依靠注入来管理所有层,通过面向方面的编程来管理事务、日志和权限。SpringMVC代表模型、视图和控制器来接收外部请求,开发和处理它们。Mybatis是一个基于jdbc的框架,主要用于操作数据库,连接业务实体和数据表。

1、春天

详见SSH中的spring。

2、SpringMVC

它是spring框架的一部分,用于简化MVC架构的web应用开发。

(2)SpringMVC的优势

它是灵活的、非侵入性的和可配置的。

提供了前端控制器dispatcherServlet,开发者不需要开发额外的控制器对象。

分工明确,包括控制器、验证器、命令对象、模型对象、处理程序映射视图解析器。每个函数都由一个特殊的对象实现。

您可以自动绑定用户输入并正确转换数据类型。

可重用的业务代码:您可以使用现有的业务对象作为命令或表单对象,而无需扩展特定框架的基类。

(3)SpringMVC的缺点

Servlet耦合很难独立于容器运行。

细分太多,开发效率低。

如何在SpringMVC中选择put和post

GET和POST的区别

@RequestParam、@ModelAttribute和@RequestBody的区别

HttpServletResponse响应实现文件上传和下载

3、mybatis

Mybatis是一个开源框架,它简化并实现了java数据持久层。它抽象了大量的JDBC冗余代码,提供了简单易用的API和数据库交互。

(2)mybatis的优势

与JDBC相比,它减少了50%以上的代码量。

Mybatis是最简单的持久化框架,小巧易学。

Mybatis是灵活的,不会对应用程序或数据库的限制销售设计施加任何影响。SQL用XML编写,与程序代码完全分离,降低耦合度,便于统一管理和优化,可复用。

提供XML标记是为了支持动态SQL语句的编写(如果,在XML中使用else)。

提供映射标签,支持对象与数据库之间ORM字段关系的映射(映射关系可以用XML配置,也可以使用标注)。

(3)mybatis的缺点

写SQL语句的工作量大,要求开发人员写SQL语句有一定的水平。

SQL语句太依赖数据库,不能随意更改数据库。

在拼接复杂的SQL语句时不够灵活。

第三,跳羚

1.跳羚的基本概念

Springboot是一个全新的框架,它简化了Spring的初始设置和开发过程,使用特定的方式进行配置,让开发者不再需要定义样板配置。这个框架不需要配置xml,而是依赖于maven这样的构建系统。

2.跳羚的优势

(1)减少了大量的开发时间,提高了生产率。

(2)避免编写大量样板代码、注释和XML配置。

(spring的弊端已经解决。

(4)代码少,配置文件少,不用担心第三方框架,项目流水化,为整个团队的开发和维护节省了更多的成本。

3.跳羚队的缺点

(1)修复bug慢,报错时定位困难。

(2)集成程度高,不容易理解底层。

4.跳羚概述

简单、快捷、方便的建设项目;主流开发框架的未配置集成;大大提高开发和部署的效率。

5.跳靴和弹簧的区别

(1)springboot可以建立独立的spring应用程序。

(tomcat、Jetty、Undertow等嵌入式容器,也就是说不需要任何部署工作就可以直接运行。

(3)不需要像spring一样写一堆复杂的XML配置文件。

(4)弹簧可以自动配置。

(5)提供的POM可以简化maven的配置。

6.springboot和springMVC的区别

(1)springMVC是基于Spring的MVC框架。

(2)一套基于2)springboot的条件注册的快速开发集成包。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。