当前位置: 首页 > 后端技术 > Java

JavaWeb目前主流框架和新兴框架收集

时间:2023-04-01 22:19:46 Java

转载自:https://blog.csdn.net/kingsco...(2017-12-18)了解什么是框架成熟框架介绍Hibernate框架Hibernate是一个ORM框架,全称Object-RelativeDatabase-Mapping,在Java对象和关系数据库之间建立一定的映射,实现对Java对象的直接访问(POJO)。ORM框架是不同于MVC的另一种思想框架,其适用范围也与MVC完全不同。使用JDBC连接读写数据库,我们最常见的是打开数据库连接,使用复杂的SQL语句读写,关闭连接,获取到的数据在传输之前需要进行转换或者封装,是一个非常繁琐的过程.这时候Hibernate框架出现了,它需要你创建一系列的持久化类。每个类的属性可以简单的看成是和一张数据库表的属性一一对应。当然也可以实现关系数据库的各种表。对应itemassociation。当我们需要相关操作的时候,就不需要再去关注数据库表了。我们不需要逐行查询数据库,只需要持久化类就可以完成增删改查的功能。让我们的软件开发真正面向对象,而不是乱七八糟的代码。我的感觉是使用Hibernate相比JDBC减少了80%的编程量。Struts2框架本条目缺少信息栏和名片图片。补充相关内容,使入口更完整,可快速升级。快来编辑吧!Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的一些优点,提供了一个更简洁的采用MVC设计模式实现的Web应用框架Struts2以WebWork优秀的设计思想为核心,吸收了一些结合Struts框架的优点,提供了一个更简洁的实现MVC设计模式的Web应用框架。Struts2引入了几个新的框架特性:将横切关注点与逻辑分离的拦截器,减少或消除配置文件,贯穿整个框架的强大的表达语言,以及支持可变和可重用的基于MVC的标签API,Struts2充分利用了这些经验以及从其他MVC框架中吸取的教训,使得Struts2框架更加清晰和灵活。Struts框架(目前已淘汰)为了解决这些问题,Struts框架出现了。它是一个完美的MVC实现。它有一个中央控制类(一个Servlet)。针对不同的业务,我们需要一个Action类负责页面跳转和后台逻辑操作,一个或几个JSP页面负责数据的输入输出显示,一个Form类负责Action和JSP之间的数据传递。在JSP中可以使用Struts框架提供的一组标签,和使用HTML标签一样简单,但是可以完成非常复杂的逻辑。从这个JSP页面中,不需要出现一行<%%>包围的Java代码。但是,将所有的操作逻辑都放在Struts的Action中,会使Action类的可重用性和逻辑混乱,所以人们通常将整个Web应用分为三层。Struts负责展示层,调用业务层完成操作逻辑,业务层再调用持久层完成对数据库的读写。MyBatis框架MyBatis最初是apache的一个开源项目iBatis。2010年,这个项目从apachesoftwarefoundation迁移到googlecode,并更名为MyBatis。2013年11月迁移至Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAOs)。Spring框架的调用者依赖于被调用者,它们之间形成强耦合。如果我想在别处复用某个类,这个类依赖的其他类也需要包含进来。程序变得非常混乱,各个类之间相互依赖又相互调用,复用度极低。如果一个类被修改,很多依赖它的类都会受到影响。为此,Spring框架应运而生。Spring的作用就是彻底解耦类之间的依赖关系。如果一个类依赖于某物,那么它就是一个接口。至于这个接口怎么实现,已经不重要了。只要得到一个实现了这个接口的类,就可以很方便的通过xml配置文件将实现类注入到调用该接口的类中。所有类之间的这种依赖完全被配置文件所取代。所以Spring框架的核心就是所谓的依赖注入和控制反转。springMVC框架SpringMVC是SpringFrameWork的后续产品,已经集成到SpringWebFlow中。SpringFramework提供了一个用于构建Web应用程序的全功能MVC模块。使用Spring的可插拔MVC架构,在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架,也可以集成其他的MVC开发框架,如Struts1、Struts2等,是典型的教科书式的mvc框架,不像struts等不完全基于mvc系统的变体或框架。我觉得spring最适合初学者或者想了解mvc的。它的实现是一本教科书!其次,它和tapestry一样是纯servlet系统,这也是它相对于tapestry和struts的优势。而且这个框架本身是有代码的,看起来很容易理解。数据访问对象(DAO)。新兴框架Jersey框架JerseyRESTful框架是一个开源的RESTful框架,它实现了JAX-RS(JSR311&JSR339)规范。它扩展了JAX-RS参考实现并提供了更多功能和工具以进一步简化RESTful服务和客户端开发。尽管它相对年轻,但它已经是一个生产级的RESTful服务和客户端框架。与Struts类似,它也可以与hibernate和spring框架集成。由于Struts2+hibernate+spring集成的市场占有率太高,很少有人关注Jersey。所以网上关于Jersey的介绍很少。但这是一个非常好的框架。对于请求服务,对于GET和DELETE请求,你甚至只需要给一个URI就可以完成操作。一个简单的例子:如果你想获取服务器数据库中的所有数据;然后您可以在浏览器中设置路径或使用AjaxGET方法;例如:localhost:8080/Student(项目名称)/studentinfo(项目服务整体前缀)/student(处理学生对象背书)/getStudentInfo(最后一个前缀)。这样可以获取所有学生信息。您可以选择GET获取数据的返回类型:JSON、XML、TEXT_HTML(String)。获取后,可以通过JS把这些数据塞进html或者jsp页面中。springboot框架springboot框架被称为单栈解决方案。比较轻量级,也是目前微服务的趋势;springboot本身就是建立在spring之上的,各种思想和特性就不用多说了。去掉了spring繁琐的配置,简化了原有的spring开发流程,提供了metric、actuator等各种实用特性;最重要的是springboot自带了整个springcloud生态。两个框架你解决大中小项目都没有问题。play框架可能更偏向于scala。它重量轻,性能高。随着逐步优化,易用性和扩展性越来越好。;严格来说,Vue.js框架不应该属于框架。从构建结构上看,它类似于reactjs构建UI组件。在整体逻辑上,他要解决的是MVVM的VM部分,也就是VM(viewmodel)部分如何链接应用的model和view。众所周知,MVC设计模式中争议最大的部分就是C部分,因此出现了各种MV*提案。确实比reactjs简单方便多了。代码也很清楚。它借鉴了angularjs的declarative特性。另外,文档和例子都非常漂亮。上手更快,这些都是很好的优势。jfinal框架JFinal是一个基于Java语言的速度极快的Web开发框架。其核心设计目标是快速开发、代码少、易学、功能强大、轻量级、易扩展、Restful。在具备Java语言所有优点的同时,还具备ruby、python等动态语言的开发效率。框架整合原来是Struts+Spring+Hibernate。后来演变成Struts2+Spring+Hibernate。后来随着Spring的强大以及Struts漏洞等问题,演变成Spring+SpringMVC+Hibernate/Mybatis。Mybatis在网上比较常见。最近慢慢演变成了Springboot+Mybatis。