转自:微点阅读  https://www.weidianyuedu.com

1,SpringMVC

在中国有一种说法“生姜仍旧又辛辣”,所以虽然SpringMVC已经发布了十多年,但它仍然强大有力,并且处于领先地位,具有绝对优势。在拥抱完整的MVC框架之后,Spring已经发展并且现在是面向Internet的应用程序的综合Java框架,为软件工程师提供了一个功能强大的工具包,用于Web应用程序开发和安全项目的应用程序配置。作为最受欢迎的程序员之一,Spring的完善生态系统提供了许多其他选项:RESTAPI或SOAPWeb服务,安全性(身份验证和授权,加密)等。此外,许多大公司选择使用SpringMVC,因此如果您在使用过程中遇到问题,将会有很多技术专家为您解答。

利弊

春天并非没有理由爬到顶端。它之所以成为最着名的Java框架,主要是因为:

①使用POJO简化测试数据的注入。

②增强模块性,使代码更具可读性。

③不同模块之间的分离。

④灵活的应用依赖注入(DI)。

虽然SpringMVC有很多文档可供参考,但它的学习曲线对新手Java开发人员来说太苛刻了,而且开发人员可能会遇到这样的情况:当他们遇到较少的引用时无法启动。另外,虽然SpringMVC的在线信息较多,但版本会有所不同。总的来说,SpringMVC是工程师最喜欢的框架之一。

2,Hibernate

虽然Hibemate不在RebelLabs的排行榜上,但它仍然是一个值得一提的Java框架。这种映射Java框架使用连续数据库访问操作而不是高级对象处理来解决对象和关系不匹配的问题。每个企业应用程序都不同,因此Hibernate附带了一个强大的功能集,可以帮助后端开发人员微调数据访问层。这是一个高级ORM框架,允许您对Java对象(实体)执行数据库操作。使用Hibernate Cache将数据从Java环境持久化到数据库是一个持久的概念。

利弊

Hibernate可以通过对原始代码进行微小更改来帮助您与任何数据库进行通信,从而弥合对象和关系之间的差距。除了这个优势,它还有:

①无论是Oracle,Db2还是MySQL,Hibernate都独立于DB。

②缓存机制优化了类似的查询。

③支持N + 1或延迟加载。

尽管Hibernate有许多优点,但它不允许多次插入,不支持对JDBC的某些查询,并且不适用于具有较少表的小规模项目。

3,Struts2

为了更详细地解释现代软件工程师广泛使用的Java框架,Qianfeng Wuhan Java Training的老师介绍了Struts2,它是ApacheStruts1的后续版本。Struts2用于构建当代JavaEE Web应用程序。Apache Software Foundation为开发人员提供了广泛的工具,用于创建企业级面向Web的应用程序,优化开发过程,甚至是后期维护,包括最终的优化过程和后期维护。如果您担心像广播门户这样的高负载系统,Struts将是您的最佳选择。

由于Struts2实现了Action类(普通的POJO对象),因此测试编写代码所需的工作量更少。使用框架API,耦合变得更容易,并有助于调整拦截器。

利弊

Struts2的最大特点是您不必重写或实现Action类,IT工程师为多个操作创建重复代码不再是一个问题,因为拦截器将处理它。

Struts的最大缺点是它不够灵活。

4.Vaadin

Vaadin是现代开发人员在创建业务应用程序和使用GWT呈现页面时必须选择的流行框架之一。Vaadin使用一种众所周知的基于组件的方法来快速适应浏览器的变化,从而减轻开发人员的负担。Vaadin通过将更改传达给浏览器来消除开发人员的负担。丰富的UI组件,各种各样的小部件和控件,程序员可以随时随地构建一个很酷的应用程序。

利弊

在Java或HTML布局构造中,Vaadin提供了一种将数据绑定到MVC或MVP的方法。支持拖放和其他突出功能简化了Java应用程序的单页UI创建。

因为Vaadin需要将每个事件发送回服务器,或者移动应用程序的UI很慢。

5. JSF

作为JavaEE的一部分,Oracle支持JavaServerFaces。虽然这不是快速Java开发的最佳框架,但很容易开始使用Oracle的大量文档。如果你不离开JavaEE环境,JSF没有外部依赖,但它非常强大,它有一个丰富的库和工具(包括一个易于创建用户界面的工具集),无论你的应用程序有多复杂,它可以支持。

利弊

如上所述,JSF是JavaEE不可或缺的一部分。因此,开发人员可以利用IDE软件套件和业界领先供应商的高级支持。

但事情有两面,JavaServerFaces太大,所以没有web开发经验或不熟练的人可能很难掌握。

6,Grails

这种特殊的Web框架被认为是一种动态工具,可以提高工程师的工作效率。它具有唯一的API实际,合理的默认值和约定的配置示例。与Java的无缝集成使其成为全球许多程序员的最佳选择。Grails具有许多强大的功能,例如基于Spring的依赖注入和各种插件,同时提供创建现代Web应用程序所需的一切。

利弊

Grails可以快速构建新项目,脚手架为编码人员节省了宝贵的时间。Grails拥有一个包含900多种易于安装的插件的庞大库。Grails是一个用于全栈开发的Java框架,它的对象关系映射涵盖了大量的功能,使其成为一个重量级的软件。

7,GoogleWebToolkit

GWT是一个免费的Java框架,允许用户创建和优化复杂的基于Web的应用程序。GWT的软件开发工具包提供了核心Java API和小部件,可以在构建之后编译到JavaScript应用程序中。

利弊

使用GoogleWebToolkit,您可以获得单个代码库(Java中的浏览器和服务器端编程),从而简化了开发和调试过程。与其他技术的简单集成允许程序员在网页中嵌入GWT小部件。Widget功能也可以在GWT的帮助下自定义。

但是,GWT不适用于纯HTML和后动态内容布局,因此无法满足网页设计师的需求。

Java编程语言最流行的7个框架介绍相关推荐

  1. 当前流行的前端及框架介绍(React和Vue)

    文章目录 前言 一.前端是什么? 二.前端的核心技术 1.HTML 2.CSS 3.JavaScript 三.前端框架介绍 1.React 2.Vue 参考网址 前言   这一节是和大家一起学习前端是 ...

  2. Java 中几种常用的 RPC 框架介绍

    RPC是远程过程调用的简称,广泛应用在大规模分布式应用中,作用是有助于系统的垂直拆分,使系统更易拓展.Java中的RPC框架比较多,各有特色,广泛使用的有RMI.Hessian.Dubbo等.RPC还 ...

  3. Java中几种常用的RPC框架介绍

    点击上方 "程序员小乐"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 关注订阅号「程序员小乐」,收看更多精彩内容 每日英文 Crouch down ...

  4. 流行的9个Java框架介绍: 优点、缺点等等

    流行的9个Java框架介绍: 优点.缺点等等 在 2018年,Java仍然是世界上最流行的编程语言.它拥有一个巨大的生态系统,在全世界有超过900万Java开发人员.虽然Java不是最直接的语言,但是 ...

  5. java 服务注册中心_服务治理的含义和java最流行的微服务框架服务治理注册中心的搭建...

    原标题:服务治理的含义和java最流行的微服务框架服务治理注册中心的搭建 Spring Cloud Eureka基于Netflix Eureka做了二次封装,是Spring Cloud Netflix ...

  6. java服务监控_Java最流行的微服务框架监控和各种监控数据

    原标题:Java最流行的微服务框架监控和各种监控数据 自动化的监控运维机制 自动化的监控运维机制的运行基础是不间断地收集各个微服务应用的各项指标情况,并根据这些基础指标信息来制定监控和预警规则,更进一 ...

  7. Java编程语言的历史和未来

    通过AppDynamics解决应用程序问题的速度提高了10倍–以最小的开销在代码级深度监视生产应用程序. 开始免费试用! 作为Internet上著名的编程语言 ,Java对人们如何浏览数字世界产生了深 ...

  8. Java:Java有多流行,有哪些主要应用程序?

    Java是一种高级的.面向对象的编程语言,由于其类似英语的语法,读写相对简单. Java自1995年问世以来,一直定期占据世界上最流行的编程语言名单的首位,部分原因在于Java拥有简单的语法.不断的更 ...

  9. Java入门第一课 初始概念和框架

    一.概述 Java项目是日常工作最常见的项目了,因此,及时作为运维人员,适当了解java相关知识,也是必要的,本文用以记录日常java相关相关知识点摘录,用以笔记及后续学习回顾. Java 是由 Su ...

  10. 创建的maven子项目怎么访问接口404_【经验分享】新手学Java编程语言怎么入门?...

    新手学Java编程语言怎么入门?掌握语言基础是第一步,了解java基础知识,Java关键字.核心概念或者基本编码技术.掌握操作符.控制执行流程.访问权限控制.复用类.多态.接口.字符串.泛型.数组.容 ...

最新文章

  1. 比特币的闪电网络正在创建自己的黑客阵营
  2. git 错误 RPC
  3. Mac003--Maven安装与环境变量配置
  4. 从强提醒说起——社交场景下的万有“隐力”
  5. 乾云服务器虚拟化,乾云服务器虚拟化系统
  6. 学习《apache源代码全景分析》之网络连接部分摘录
  7. 搜狗输入法Android5.1,ESXI 服务器断电之后一直 LOADING MODULE IPMI_SI_DRV 的解决办法...
  8. 【转】oracle数据库NUMBER数据类型
  9. C++/Qt 序列化操作
  10. 分组聚合查询两门以上MySQL_MySQL中的分组聚合查询
  11. ubuntu 18.04安装绿联千兆USB网卡的AX88179芯片驱动(编译报错解决)
  12. u盘分区变为raw,提示使用前需要将其格式化
  13. 实用的搜索引擎资源大搜罗
  14. .NET(C#)下的移动彩信MM7协议研究之路(一:题记)
  15. 1972 年 11 月 29 日:雅达利推出投币式街机游戏《乓》
  16. img 加载 svg占位符_SVG组件可创建占位符加载,例如Facebook卡加载
  17. 你的简历能帮你争取到面试机会吗?
  18. minigui相关硬件加速添加方法
  19. python 应用程序无法正常启动 000007b_为你解答应用程序无法正常启动00xc000007b怎么办...
  20. 《Java程序设计》第三周学习总结

热门文章

  1. ESP8266开发之旅 网络篇⑯ 无线更新——OTA固件更新
  2. JADE(Java Agent Development Framework)笔记
  3. 【MATLAB】 曲面的绘制
  4. 天轰穿视频非知识点总结
  5. Slate轨道工具使用(四)—根动画与位置
  6. 北斗卫星导航系统基础篇之(二)
  7. H264___DCT蝶形算法____理解
  8. 华夏互联十年网站开发经验-只为更专业
  9. 读李虹之《画法几何及机械制图》
  10. matlab 神经网络训练 分类器,matlab神经网络分类器