百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

掌握透彻这15个Java框架,你也能轻松成为年薪百万的阿里架构师

suiw9 2024-10-28 18:28 18 浏览 0 评论

Java开发框架可以帮助开发人员更快地启动和运行应用程序,提供代码重用并消除构建样板代码的任务。

Blade:轻量级的MVC框架

该MVC框架基于Java 8和Netty Web服务器。Blade被描述为轻巧简单,提供了RESTful样式的路由接口,并且没有侵入式拦截器,文档状态。Blade的源代码小于500KB。

为了使用Blade构建应用程序,开发人员将创建一个通用的Maven项目。包括模板引擎支持和流式API样式。

Blade的开发始于2015年,目标是提供一个完整的Web框架。计划要求增加对Java 9中的模块化功能的支持, 并支持更多的Web生态系统组件。

Dropwizard:“ ops-friendly”网络服务

Dropwizard于2011年首次发布,是用于构建“ ops友好型” RESTful Web服务的框架。使用Dropwizard,您可以使用Jetty HTTP库或将HTTP服务器嵌入到项目中。Jersey JAX-RS实现允许编写可测试的类,该类将HTTP请求映射到Java对象。还有用于JSON的Jackson工具。

核心贡献者Nick Babcock说,Dropwizard的关键是开发期间和开发后的生产力。开发人员可以专注于业务逻辑,而不必为度量,配置和日志记录编写代码。Dropwizard的构建者计划在确定改进框架的位置时继续关注对Jetty和Jersey等项目的改进。

Grails:通过Groovy JVM语言锚定

现在由对象计算倡议(OCI)维护的 Grails是一个用于为JVM构建Web应用程序的框架。开发人员可以构建诸如内容管理系统和电子商务站点之类的应用程序,以及RESTful Web服务。Grails 基于Groovy JVM语言,可与Java技术一起使用,包括Java EE容器,Hibernate和Spring,并与Java Development Kit一起运行。

爱好者说,与使用其他框架构建应用程序相比,它所需的代码少得多,复杂度也更低。由Graeme Rocher共同创立的具有十年历史的框架的版本4.0将于2018年底推出,其功能包括对Groovy 2.5,Java 8基准和Java 9的支持。

GWT:Java输入,JavaScript输出

GWT被称为“ gwit”,也称为Google Web Toolkit,它使开发人员可以用Java编写客户端应用程序并将其部署为JavaScript。它已在Google产品(例如AdWords和电子钱包)中使用。

GWT支持浏览器应用程序的开发,而开发人员不必是JavaScript或XMLHttpRequest之类的技术专家。GWT SDK包括Java库,编译器和开发服务器。GWT编译器提供了跨代码库的优化,包括内联方法,无效代码删除和优化字符串。代码中的拆分点可以将下载分成多个JavaScript片段,并缩短启动时间。

JavaServer Faces:Web UI规范

已有14年历史的JavaServer Faces(JSF)具有Java规范,用于为Web应用程序构建基于组件的UI。它也是一个MVC Web框架,用于简化基于服务器的应用程序的UI的构造,并在页面中提供可重复使用的UI组件。JSF为UI开发提供了一种基于标准的方法,其应用程序可跨Java EE应用程序服务器移植。

当前版本的JSF 2使用Facelets作为其默认模板系统。也可以部署包括XUL(XML用户界面语言)和纯Java在内的View技术。

在JSF之上有诸如Apache MyFaces之类的实现。另外,Eclipse Foundation拥有其JSF Tools Project,该项目旨在简化JSF应用程序的开发。

JHipster:Angular或Spring Boot的选择

已有4年历史的JHipster在Spring Boot应用程序构建器的基础上工作,提供了现代的Web服务或微服务架构。它可以构建Spring Boot和Angular应用程序。JHipster由Okta赞助,该公司提供一项服务,可提供对工具的安全访问。

客户端技术包括Yeoman,Webpack,Angular和Bootstrap。服务器端技术包括Maven,Spring技术和Netflix OSS。

正在开发中的是JHipster 5,后端支持Spring Boot 2,前端支持React JavaScript UI框架。JHipster的域语言也将得到增强。

MyBatis:轻松进行关系数据库集成

MyBatis的主要卖点是简化JDBC的使用并减少编写与关系数据库进行交互的Java应用程序时所需的代码量。MyBatis与对象关系映射工具不同,它不将类映射到表而是将对象映射到SQL。使用MyBatis,不会对开发人员隐藏SQL。该框架在可与其一起使用的数据库和模式方面提供了灵活性。

MyBatis最初称为iBatis,它于2002年首次公开展示。

播放框架:反应式网络框架

Play使用轻量级的无状态架构,是适用于Java和Scala的高效,反应式Web框架。它提供了有关代码更改的热负载,开发人员可以在其中进行更改,刷新浏览器并立即查看更改,而无需重新编译或部署。

异步API使开发人员可以构建可使用最少资源进行扩展的Web应用程序。该框架基于用于分布式应用程序的Akka工具包构建,于2007年首次发布,并于2012年进行了重写。该计划要求将Play模块化,并针对微服务设计模块。使用热重载,多个Play服务将能够通过单个命令立即运行。也正在考虑更好地支持微服务模式,例如异步消息传递和事件源。

PrimeFaces:轻量级UI框架

拥有十年历史的PrimeFaces是Java EE和JavaServer Faces的UI框架,它是配置为单个.jar文件且没有依赖关系的轻量级库。该框架由电子商务提供商Prime Technology赞助,包含100多个组件,触摸优化的移动套件,客户端验证和主题套件。

PrimeFaces的开发人员正在使用JSF Renderer APis进行试验,以确定JSF应用程序是否可以在引入Java后端的情况下呈现渐进式Web应用程序(PWA)。他们还正在考虑让JSF组件呈现Web组件以利用现代Web API的优势。

Spark框架:用于快速开发的微框架

Spark框架(不要与Apache Spark大数据模式混淆)是一个声明性的Web框架,它使开发人员可以重新开始工作并快速运行。使用Java 8的语言功能,已有 7年历史的Spark Framework提供了表达性API。

Spark的开发人员计划对原始框架进行重大更新,将其标记为Version 3.0,并针对Kotlin语言发布Spark的正式版本。

Spring框架:早期支持依赖项注入

可能是最著名的Java框架,已有14年历史的Spring Framework长期以来一直将依赖项注入作为一项关键功能,甚至在Java Enterprise Edition(EE)具备此功能之前就提供了此功能。

该框架具有用于企业Java应用程序的编程和配置模型。它旨在照顾应用程序“管道”,以便开发团队可以专注于应用程序级业务逻辑。它还提供代码,事务管理,数据访问和Web应用程序的向后兼容性和可测试性。

Spring系列中的合作伙伴项目包括 Spring Boot,以帮助构建Spring应用程序。

Struts:Apache的MVC框架

Struts是用于构建Web应用程序的MVC框架。它使用插件架构,包括用于REST,AJAX和JSON的插件。Struts具有用于提供和维护基于Web的用户界面和服务的工具,可帮助开发人员桥接表示层和服务层,并协助类型转换和输入验证。Struts将请求-响应模型与HTML和AJAX UI组件结合在一起。

最初的Struts 1.0框架于2000年问世。在2006年将WebWork 2代码库与Struts合并之后,Struts 2出现了。Struts3的开发即将开始,Apache称其为该框架的彻底翻新。

Tapestry:面向组件的框架

Apache的Tapestry是一个面向组件的框架,用于在Java中构建可伸缩的Web应用程序。可以使用Java,Groovy或Scala进行编码。

在Tapestry中,页面和组件是POJO(普通的旧Java对象)。Apache表示,开发人员可以 通过访问Java语言功能和Java生态系统来获得Java 的速度和深度以及类似于Ruby或Python的敏捷开发。还提供POJO类,模板和异常报告。实时类重载功能使开发人员可以更改代码,刷新浏览器并查看更改,类似于Play框架。

Tapestry 1.0创建于2000年。当前版本Tapestry 5是没有版本4共享代码的重写。计划在即将发布的5.5版本中增加Java 9支持,性能改进和TypeScript编译。

Vaadin Flow:链接浏览器和服务器

Vaadin的Flow Java Web框架架起了Web和Java生态系统的桥梁,在浏览器和服务器之间进行双向通信,将Web UI链接到服务器端Java。从DOM提供对服务器的直接访问。应用程序在JVM上运行。

Vaadin Flow是Vaadin 10开发平台的一部分,于2017年10月在beta版本中引入Vaadin是一个整体框架,但该公司从Vaadin 10开始将框架拆分为Flow和Web组件集.Vaadin Flow的构建者希望使其更快并使构建渐进式Web应用程序更加容易。

Vert.x:JVM上的响应式应用程序

Eclipse Foundation的Vert.x工具箱是事件驱动和非阻塞的。这意味着应用程序可以使用少量内核线程来处理并发。Vert.x可以与Java,JavaScript,Groovy,Kotlin,Ruby,Ceylon和Scala一起使用。为支持的语言提供了惯用的API。

该框架不是限制性的。开发者说,开发人员可以得到“有用的积木”,并且可以按自己的意愿构建应用。Vert.x也可用于构建轻量级微服务。

Vert.x 1.0于2012年9月发布。版本3.5.1于2018年2月发布,均支持 JUnit 5 Java测试框架。

Wicket:抽象的面向请求的Web技术

Apache的Wicket是一个面向组件的Web框架,它抽象了面向请求的Web技术,并向开发人员提供UI概念,开发人员可以使用Java和HTML构建UI。使用Wicket,页面由相互协作以提供所需功能的组件组成。开发人员从页面,面板,按钮,链接,表单和列表视图的角度进行思考。组件还可以具有与它们关联的国际化,JavaScript和CSS文件。

已有14年历史的Wicket于2007年成为Apache项目。Wicket的下一步是Java 8习语的引入。开发人员将能够通过Wicket组件使用新的时间/日期API和lambda表达式。(Lambda表达式将减少样板代码。)

最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。


相关推荐

俄罗斯的 HTTPS 也要被废了?(俄罗斯网站关闭)

发布该推文的ScottHelme是一名黑客,SecurityHeaders和ReportUri的创始人、Pluralsight作者、BBC常驻黑客。他表示,CAs现在似乎正在停止为俄罗斯域名颁发...

如何强制所有流量使用 HTTPS一网上用户

如何强制所有流量使用HTTPS一网上用户使用.htaccess强制流量到https的最常见方法可能是使用.htaccess重定向请求。.htaccess是一个简单的文本文件,简称为“.h...

https和http的区别(https和http有何区别)

“HTTPS和HTTP都是数据传输的应用层协议,区别在于HTTPS比HTTP安全”。区别在哪里,我们接着往下看:...

快码住!带你十分钟搞懂HTTP与HTTPS协议及请求的区别

什么是协议?网络协议是计算机之间为了实现网络通信从而达成的一种“约定”或“规则”,正是因为这个“规则”的存在,不同厂商的生产设备、及不同操作系统组成的计算机之间,才可以实现通信。简单来说,计算机与网络...

简述HTTPS工作原理(简述https原理,以及与http的区别)

https是在http协议的基础上加了一层SSL(由网景公司开发),加密由ssl实现,它的目的是为用户提供对网站服务器的身份认证(需要CA),以至于保护交换数据的隐私和完整性,原理如图示。1、客户端发...

21、HTTPS 有几次握手和挥手?HTTPS 的原理什么是(高薪 常问)

HTTPS是3次握手和4次挥手,和HTTP是一样的。HTTPS的原理...

一次安全可靠的通信——HTTPS原理

为什么HTTPS协议就比HTTP安全呢?一次安全可靠的通信应该包含什么东西呢,这篇文章我会尝试讲清楚这些细节。Alice与Bob的通信...

为什么有的网站没有使用https(为什么有的网站点不开)

有的网站没有使用HTTPS的原因可能涉及多个方面,以下是.com、.top域名的一些见解:服务器性能限制:HTTPS使用公钥加密和私钥解密技术,这要求服务器具备足够的计算能力来处理加解密操作。如果服务...

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

秘钥的产生过程非对称加密...

图解HTTPS「转」(图解http 完整版 彩色版 pdf)

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。...

HTTP 和 HTTPS 有何不同?一文带你全面了解

随着互联网时代的高速发展,Web服务器和客户端之间的安全通信需求也越来越高。HTTP和HTTPS是两种广泛使用的Web通信协议。本文将介绍HTTP和HTTPS的区别,并探讨为什么HTTPS已成为We...

HTTP与HTTPS的区别,详细介绍(http与https有什么区别)

HTTP与HTTPS介绍超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的...

一文让你轻松掌握 HTTPS(https详解)

一文让你轻松掌握HTTPS原文作者:UC国际研发泽原写在最前:欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于原创与翻译。...

如何在Spring Boot应用程序上启用HTTPS?

HTTPS是HTTP的安全版本,旨在提供传输层安全性(TLS)[安全套接字层(SSL)的后继产品],这是地址栏中的挂锁图标,用于在Web服务器和浏览器之间建立加密连接。HTTPS加密每个数据包以安全方...

一文彻底搞明白Http以及Https(http0)

早期以信息发布为主的Web1.0时代,HTTP已可以满足绝大部分需要。证书费用、服务器的计算资源都比较昂贵,作为HTTP安全扩展的HTTPS,通常只应用在登录、交易等少数环境中。但随着越来越多的重要...

取消回复欢迎 发表评论: