2021 Java热门技术有哪些?

了解Java世界中新的一年的趋势。发现无反射框架新趋势的影响及其对体系结构的影响。

 

从技术角度来看,Java世界内的框架是最大的不同之一。仅使用Java SE平台而不使用任何工具来查看Java中的应用程序具有挑战性。在新的一年里,自然会出现问题,例如在新项目中可以使用哪些框架,框架的类型和趋势。这篇文章的目的是讨论一下Java世界中最流行的框架以及对世界上最流行的语言之一对明年的期望。

 

毫无疑问,注释或元数据功能在世界范围内促进了许多工作。通常,绝大多数框架都使用这种类型的资源。但是,与这些注释将在何时读取有关的更改是什么:

 

在运行时:注解信息将在Java应用程序启动后立即读取,并且通常使用Java Reflection

API。促进可插入性和/或即插即用效果的因素,可以通过简单地通过添加依赖项来修改应用程序的行为。另一点是易于封装。例如,由于反射,有可能没有setter的属性。自动增量标识符和反射将顺利解决此问题。

在编译时:此方法旨在将所有Java元数据处理和分析带到编译时而不是执行时。这种类型的方法往往会减少启动时间以及内存消耗。一种实现此方法的方法是使用Java注释处理器。

如前所述,元数据读取对于框架类型来说是一个巨大的游戏规则改变者,因为一般而言,今年最常用的框架具有非常相似的特征:

 

不仅仅是一个框架,而是一个平台:2020年最著名的框架(通常会在2021年脱颖而出),因为在其保护伞内拥有一系列工具来帮助开发人员在各个方面提供支持,无论是在安全API中还是在集成其余部分API。

依赖注入:通常是一个容器,负责管理应用程序中的依赖。保持体系结构内松散耦合的好工具。

使用数据库和服务进行访问:连接数据库,无论是关系数据库还是非关系数据库,都很重要;毕竟,如果应用程序是头脑,那么数据就是系统的心脏。此时,将减少Java应用程序与数据库之间的所有可能样板。

代码外的配置:诸如数据库用户和密码之类的凭据必须在代码外。在理想的环境中,开发人员或体系结构团队无需遵循十二个应用程序因素的最佳实践,就可以了解此类信息。这些生态系统可以选择通过环境覆盖所有配置。可以以对应用程序透明的方式为每个环境进行配置。

基于前面提到的Java工具的这些特征,突出的Java框架是:

 

Quarkus:Red Hat创建的最新项目,其主要目标是具有快速启动和降低内存占用的能力,例如NodeJS和Go之类的技术。

 

Micronaut:可能是Java开发的第一个平台,可以在无服务器架构中非常有效地工作。

 

Spring:来自Rod Johnson所写的一本书,它基于对Java EE(目前为Jakarta EE)的扩展和改进。

 

Jakarta EE /

MicroProfile:虽然不一定是框架,但是是规范。这些项目驱动并作为先前项目的基础。重要的一点是,由于有了规范,可以直接更改实现,并且我们有多家供应商正在合作,并使用诸如Wildfly,Payara,TomEE等实现。

 

下表显示了这些生态系统及其各个组成部分之间的关​​系。框架之间共享的一点是,每个人都有将属性映射到环境变量的信息的规则。例如,如果您要在本地执行配置属性文件,此功能很有趣,该文件将在生产中透明地覆盖以供应用程序使用,以至于即使开发团队也不需要知道此信息。

 

 

云环境中最受欢迎的框架

始终很重要的一点是,根据开发人员或开发团队希望委托给云的操作抽象级别,云世界中存在服务模式。抽象程度越高,业务风险越低;但是,服务成本往往更高。最重要的是,托管服务(如Dan Moore在《每位云工程师应该知道的97件事:专家的集体智慧》中)包含已安装的软件以及这些服务的所有维护和管理知识,从而简化了整个开发团队的生命。

 

在这种类型的服务中,我们可以将PaaS(平台即服务)归类为服务,因为它使开发团队专注于交付,并极大地减少了云中的操作份额。例如,通过使用PaaS Platform.sh,可以减少操作的复杂性以及使用云时所涉及的风险:

 

降低琐碎操作的复杂性,例如备份/还原,JVM和数据库更新。

它使用GitOps的概念,即易于频繁部署,易于管理环境变量。它还与Github,Bitbucket和GitLab集成。

定义应用程序和服务(例如数据库)之间的访问控制。

轻松使用CI / CD

服务已经集成,因此只需告诉我们您的应用程序需要什么服务,Platform.sh将管理该应用程序的所有信息。

为了促进现有系统的迁移或基于云的新系统的创建,Platform.sh为Java世界中最流行的框架创建了以下指南:

 

Quarkus

Micronaut

Spring

Jakarta EE / MicroProfile(Payara)

Java框架最强大的功能之一是在许多框架中找到的,本文提到了其中四个最受欢迎的开发平台。在执行时或在编译时,通过读取注释的方式都可以发现框架体系结构中的一个强大功能。Java框架之间的共同点是它们具有依赖项注入机制,良好实践的配置以及Platform.sh支持,从而简化并加速了云环境中的应用程序。

如果你正在入门学习Java或者即将学习,可以申请加入我的Java学习交流扣扣群:639714511,有什么问题都可以随手来交流分享,群文件我上传了我做Java这几年整理的一些学习手册,面试题,开发工具,PDF文档书籍教程,需要的话你们都可以自行来获取下载。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例和4个综合案例,可以作为案头必备的查询手册 一线开发人员全力打造,分享技术盛宴! 重点内容及特色 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》介绍了Web开发中客户端技术的基础知识,包括JavaScript、CSS、AJAX等,这些技术都是Web应用中常用的客户端技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握的技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和事务管理等,Spring中的数据库技术与AOP等。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》特别介绍了Struts 2对AjAX的支持,还重点剖析了SSH框架的整合开发,并给出了两个综合案例来展示整合SSH框架开发Web应用。 和已经出版的同类图书相比,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》讲解由浅入深,涵盖更多内容,列举了大量典型实例具有超强的实用性,另外,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》各篇独立,适合读者全面学习或对部分内容重点学习。 读者对象 有Java基础,想进一步学习SSH框架整合开发的人员 了解SSH整合开发,想进一步提高开发技术的人员 正在使用SSH整合技术开发项目,想查阅资料的人员 大中专院校的学生和老师,以及Java培训班的学员和讲师 需要一本案头必备查询手册的程序员 光盘内容 6小时多媒体体视频讲解 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》所涉及的源代码 布衣暖,菜根香,好书滋味长!清华大学出版社长期以来一直秉承为读者多出好书的宗旨,多年来为读者奉献了大量脍炙人口的精品图书。尤其在计算机图书出版领域更是形成了鲜明特色,所出版的各类计算机图书受到了广大读者的好评。本次出版的“原创经典,程序员典藏”系列图书是清华大学出版社的重点精品计算机图书,旨在帮助读者全面学习各类程序设计语言和开发工具,提高开发水平。同时也为广大程序员提供良好的技术参考,以便作为案头必备的查询手册。 内容提要 -------------------------------------------------------------------------------- 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring(Ioc容器、装配Java Bean、Jdbc和Hibernate模板、事务管理、Spring AOP等)以及 Hibernate(会话、映射、标准查询API、HQL、事务管理、锁等)。除此之外,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》还提供了两个完整的实例来讲解开发SSH的详细步骤和方法。通过对这两个实例的学习,读者可以对SSH开发模式有更透彻地理解和认识。SSH是目前最流行的Java Web开发技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》适合广大从事Java Web开发工作的技术人员、对SSH开发感兴趣的人员以及大专院校学生阅读,尤其是具有一定的Web开发经验的技术人员。 目录 -------------------------------------------------------------------------------- 第1篇 web开发基础篇 第1章 搭建开发环境 1.1 本书使用的软件和框架的版本 1.2 JDK6的下载与安装 1.3 Eclipse3.4 的下载与安装 1.4 MyEclipse6.5 的下载与安装 1.5 Eclipse:IDEforJavaEEDevelopers的下载与安装 1.6 Tomcat6的下载与安装 1.7 在MyEclipse中配置。Tomcat 1.8 在EclipseIDEforJavaEEDevelopers中配置Tomcat 1.9 小结 第2章 JavaWeb应用开发基础 2.1 Web技术的发展 2.2 JavaWeb技术 2.2.1 Java.Welb程序的基本组成 2.2.2 Java,Web程序的目录结构 2.2.3 JavaWeb程序的配置文件 2.3 MVC模式与MvC框架 2.3.1 JSP模型1和JSP模型2 2.3.2 Web应用程序需要的基础服务 2.3.3 MVC模式概述 2.3.4 常用的MvC框架 2.4 小结 第3章 Web开发中的客户端技术 3.1 常用的JavaScriptIDE简介 3.1.1 在MyEclipse中使用JavaScript 3.1.2 在EclipseIDEforJavaEE中使用JavaScript 3.1.3 在NetBeans中使用JavaScript 3.1.4 其他的JavaScriptIDE 3.2.1 avaScdpt语法基础 3.2.1 实例:编写第一个JavaScript程序:Greet 3.2.2 变量 3.2.3 原始类型 3.2.4 类型转换 3.2.5 函数与函数调用 3.2.6 类和对象 3.3 JavaScript高级技术 3.3.1 DOM技术概述 3.3.2 获得HTML元素的3种方法 3.3.3 实例:图像自动切换 3.3.4 正则表达式 3.3.5 实例:表格排序 3.4 CSS基础 3.4.1 CSS的基本语法 3.4.2 在Style属性中定义样式 3.4.3 在HTML中定义样式 3.4.4 在外部文件中定义样式 3.4.5 样式的继承 3.5 AJAX.基础 3.5.1 AJAX概述 3.5.2 实例:使用XMLHttpRequest获得Web资源 3.5.3 实例:使用XMLHttpRequest跨域访问Web资源 3.5.4 实例:AJAX的3种交换数据方法 3.6 小结 第4章 Servlet技术 4.1 Servlet的Helloworld程序 4.1.1 实例:在My Eclipse中编写Helloworld程序 4.1.2 实例:手工编写:Helloworld程序 4.2 Servlet基础 4.2.1 配置数据库连接池 4.2.2 数据库连接池的应用 4.2 -3实例:用doGet方法处理客户端请求 4.2.4 实例:用doPost方法处理客户端请求 4.2.5 实例:用service方法处理客户端请求 4.2.6 实例:初始化(init)和销毁(destroy)Servlet 4.2.7 实例:使用PrintWriter输出响应消息 4.2.8 实例:用ServletOutputStream显示图像 4.2.9 实例:使用RequestDispatcher包含Web资源 4.2.10 实例:使用RequestDispatcher转发Web资源 4.3 HttpServletResponse类的其他功能 4.3.1 产生状态响应码 4.3.2 设置响应消息头 4.3.3 实例:验证响应头设置情况 4.4 使用:HttpServletRequest获得请求消息 4.4.1 获取请求行消息 4.4.2 获取网络连接消息 4.4.3 获取请求头消息 4.5 处理Cookie 4.5.1 什么是Cookie 4.5.2 Cookie类中的方法 4.5.3 实例:用Cookie读写客户端信息 4.5.4 实例:用Cookie读写复杂数据 4.6 处理Session 4.6.1 什么是Session 4.6.2 HttpSession接口中的方法 4.6.3 HttpServletRequest接口中的Session方法 4.6.4 实例:通过Cookie跟踪Session 4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术发送和接收中文信息 4.7.5 实例:在请求消息头和响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第一个JSP程序 5.1.1 实例:编写显示服务器当前时间的JSP程序 5.1.2 调试JSP程序 5.1.3 改变JSP的访问路径和扩展名 5.1.4 手动发布JSP程序 5.2 JSP的运行原理 5.2.1 Tomcat如何处理JSP页 5.2.2 分析由JSP生成的Servlet代码 5.3 JSP基本语法 5.3.1 JSP表达式 5.3.2 在JSP中嵌入Java代码 5.3.3.JSP声明 5.3.4.JSP表达式语言(EL) 5.3.5 实例:用EL函数替换HTML中的特殊字符 5.3.6 JSP页面中的注释 5.4 JSP指令 5.4.1 JSP指令简介 5.4.2 page页面指令 5.4.3 include加入指令 5.5.JSP的9个内置对象 5.5.1 out输出对象 5.5.2 pageContext封装对象 5.5.3 其他的JSP内置对象 5.6 JSP标签 5.6.1 插入标签 5.6.2 转发标签 5.6.3 传参标签 5.6.4 创建:Bean标签 5.6.5 设置属性值标签 5.6.6 获取属性值标签 5.7 JSP的标准标签库(JSTL) 5.7.1 如何使用JSTL 5.7.2 条件标签 5.7.3 循环标签 5.8 小结 第6章 用Servlet和JSP实现注册登录系统 第2篇 Struts 2篇 第7章 编写Struts 2的第一个程序 第8章 Struts 2进阶 第9章 Struts 2的* 第10章 Struts 2的类型转换 第11章 Struts 2的输入校验 第12章 文件的上传和下载 第13章 国际化 第14章 Struts 2的标签库 第15章 Struts 2对AJAX的支持 第16章 用Struts 2实现注册登录系统 第3篇 Hibernate篇 第17章 Hibernate的Helloworld程序 第18章 配置Hibernate 第19章 Hibernate的会话与O/R映射 第20章 Hibernate的查询与更新技术 第21章 Hibernate的高级技术 第4篇 Spring篇 第22章 Spring的Helloworld程序 第23章 反向控制(Ioc)与装配JavaBean 第24章 Spring中的数据库技术 第25章 Spring的其他高级技术 第5篇 综合实例篇 第26章 Struts 2与Hibernate、Spring的整合 第27章 网络硬盘 第28章 论坛系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值