大家好,又见面了,我是你们的朋友全栈君。
一、传统框架介绍
1)Hibernate 是一种ORM框架,在Java对象与关系型数据库之间建立某种映射,以实现直接存取Java对象(POJO)。
2)ORM框架是一种不同与MVC的另一种思想框架,适用范围也与MVC截然不同。
3)需要创建一系列的持久化类,每个类的属性都可以简单的看做和一张数据库表的属性一一对应,当然也可以实现关系数据库的各种表件关联的对应。
4)当我们需要相关操作时,不用再关注数据库表。我们不用再去一行行的查询数据库,只需要持久化类就可以完成增删改查的功能。
5)使我们的软件开发真正面向对象,而不是面向混乱的代码。我的感受是,使用Hibernate比JDBC方式减少了80%的编程量。
1)Struts2以WebWork优秀的设计思想为核心,吸收了 Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web 应用程序框架。
2)Struts2引入了几个新的框架特性:从逻辑中分离出横切关注点的拦截器、减少或者消除配置文件、贯穿整个框架的强大表达式语言、支持可变更和可重用的基于MVC模式的标签API,
3)Struts2充分利用了从其它MVC框架学到的经验和教训,使得 Struts2框架更加清晰灵活。
1)MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。
2)MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
3)MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
1)Spring的作用就是完全解耦类之间的依赖关系,一个类如果要依赖什么,那就是一个接口。
2)至于如何实现这个接口,这都不重要了。只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的那个类里。
3)所有类之间的这种依赖关系就完全通过配置文件的方式替代了。所以Spring框架最核心的就是所谓的依赖注射和控制反转。
1)Spring MVC基于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面
2)是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于
mvc系统的框架。
联系和区别
Spring是IOC和AOP的容器框架,SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring。
1)Spring是一个管理bean的容器,也是一个包括很多开源项目的总称,spring mvc是其中一个开源项目。
2)SpringMVC是一个MVC模式的WEB开发框架。
3)Spring是一个通用解决方案, 最大的用处就是通过Ioc/AOP解耦, 降低软件复杂性, 所以Spring可以结合SpringMVC等很多其他解决方案一起使用, 不仅仅只适用于WEB开发。
一、正在兴起的框架
1)springboot 框架,被称作一栈式解决方案。
2)比较轻量,也是当前微服务下的趋势。
3)springboot本身就是构建与spring之上,各种思想和特性无需多说,去掉了spring繁琐的配置,简化了原有spring开发的流程,提供了各种实用的特性如metric,actuctor等等。
4)最重要的是springboot附带了整个springcloud生态。两个框架对你解决大,中,小项目都没任何问题
1)play可能更加偏向于scala点(使用Scala和Java开发,同时支持Java和Scala项目),本身轻量性能高,随着逐步的优化易用性以及扩展性都变得越来越好;
2)Play Framework是一个开源的Web框架,背后商业公司是Typesafe
3)Play2从诞生起就能很容易的支持RESTful风格的架构
1)Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTfulservice 和 client 开发。1)Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发
2)尽管相对年轻,它已经是一个产品级的 RESTful service 和 client 框架
3)对于请求式服务,对于GET,DELETE请求,你甚至只需要给出一个URI即可完成操作。
1)JFinal 是基于Java 语言的极速 web 开发框架。
2)其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。
3)在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143897.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...