文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java EE几十种技术,“活着的”还剩几何(企业应用技术篇)

2024-12-14 01:29

关注

若你还不太清楚Java EE是什么,可先移步这里:什么是Java EE?

上篇文章已经聊过了Java EE最重要的部分:Web应用技术,发现情况“惨不忍睹”,8项技术仅剩Servlet依旧保持主流,其它的均已淘汰或濒临淘汰。“此景”详情可移步阅读:上篇文章。

本文继续,继续领略Java EE的企业应用技术,它曾在企业级开发中叱咤风云,来看看它现在的生存现状。为了便于理解,还是贴上这张分类图:

所属专栏

BATutopia-Java EE

相关下载

版本约定

正文

Part2: 企业应用技术

Enterprise Application Technologies,共13种规范。

1. Bean Validation

推荐学习指数 5

在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节。比如参数不能为null,email必须符合email的格式,如果手动进行if判断或者写正则表达式判断无意开发效率太低,在时间、成本、质量的博弈中必然会落后。正所谓专业的事情交给专业的组件去做,我们可把校验层抽象出来,这就是Bean Validation。

Bean Validation简直就是业务开发中祛掉坏味道代码的利器,完美的实现契约式编程,大大提高开发效率,降低出错概率。

API的GAV:

  1.  
  2.     jakarta.validation 
  3.     jakarta.validation-api 
  4.     2.0.2 
  5.  

 

代表API:

Bean Validation的实现有Apache的 Bval和Hibernate Validator,前者可忽略,后者几乎成为唯一实现。

2. EJB

推荐学习指数2

Enterprise JavaBeans它就是鼎鼎大名的EJB,也叫企业级JavaBean。EJB技术的诞生标志着Java Beans的运行正式从客户端领域扩展到服务器领域。

用于基于组件的事务性分布式编程。EJB不仅指定了bean格式,而且定义了运行bean的容器必须提供的一组服务。因此,开发人员无需担心服务细节,例如安全性,事务支持或任何远程对象访问。如此以至,想运行EJB必须有EJB容器,如JBoss,WebLogic,WebSphere等......就问你重不重?

API的GAV:

 

代表API:

由EJB容器提供实现。

3. DI

推荐学习指数3

Dependency Injection该规范比较简单,约定了一些标准注解:

API的GAV:

  1.  
  2.     jakarta.inject 
  3.     jakarta.inject-api 
  4.     1.0.3 
  5.  

 

代表API:如上

CDI容器、Spring IoC容器、Guice容器等均有提供实现。

4. CDI

推荐学习指数 3

Contextual Dependency Injection上下文依赖注入。其实它包含两个概念:

Spring的容器我们熟悉,CDI就是Java EE的容器。

API的GAV:

  1.  
  2.     jakarta.enterprise 
  3.     jakarta.enterprise.cdi-api 
  4.     2.0.2 
  5.  

 

代表API:

5. JPA

推荐学习指数 4

Java Persistence API:Java持久层API。描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

API的GAV:

  1.  
  2.     jakarta.persistence 
  3.     jakarta.persistence-api 
  4.     2.2.3 
  5.  

 

代表API:

其实JPA的实现除了Hibernate,还有Eclipsellink,OpenJPA或Batoo。

6. JMS

推荐学习指数 3

Java Message Service:Java消息服务。两个应用程序之间需要进行通信,我们使用一个JMS服务,进行中间的转发,通过JMS 的使用,我们可以解除两个程序之间的耦合。也是我们常说的MQ。

JMS有一个类似协议AMQP,请注意区分

API的GAV:

  1.  
  2.     jakarta.jms 
  3.     jakarta.jms-api 
  4.  

 

代表API:

ActiveMQ是对JMS的典型实现。

7. JavaMail

推荐学习指数 3

JavaMail:Java邮件。顾名思义,帮助我们发送Email电子邮件用的。方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如SMTP,POP3,IMAP,还有MIME。

API的GAV:

  1.  
  2.     jakarta.mail 
  3.     jakarta.mail-api 
  4.     1.6.7 
  5.  

 

代表API:

并不是发邮件不重要,而是实际使用中我们大概率不需要关心其底层API,而使用更高层级的封装工具。

8. JTA

推荐学习指数 3

Java Transaction API (JTA):用于描述Java EE框架中事务管理器与应用程序,资源管理器,以及应用服务器之间的事务通讯。简而言之:分布式事务规范。XA是分布式协议规范,而JAT是Java中对XA协议的实现。

API的GAV:

  1.  
  2.     jakarta.transaction 
  3.     jakarta.transaction-api 
  4.     1.3.3 
  5.  

 

代表API:

9. Common Annotation

推荐学习指数 4

Common Annotations for the Java Platform:Java平台通用注解。这就是我们特别熟悉的JSR 250 通用注解:

API的GAV:

  1.  
  2.     jakarta.annotation 
  3.     jakarta.annotation-api 
  4.     1.3.5 
  5.  

 

代表API:同上

值得注意的是,该jar 没必要导入,因为自JDK 6开始已经被集成到Java SE内部了。

10. JCA

推荐学习指数 1

Java EE Connector Architecture:Java连接体系架构,是对Java EE标准集的重要补充。因为它注重的是将Java程序连接到非Java程序和软件包中间件的开发。

JCA的目标:企业应用程序集成方面,它提供的标准化体系结构让Java EE组件能够对异构 EIS进行“即插即用”的访问,其中包括ERP、事务处理、老式数据库系统等。

API的GAV:

  1. 无单独Jar,是一种架构说明 

代表API:无

11. Batch

推荐学习指数 1

Batch Applications for the Java Platform:Java平台的批处理规范。从它出生起就被认为是抄袭Spring Batch项目的,所以没啥好聊的~

API的GAV:

  1.  
  2.     jakarta.batch 
  3.     jakarta.batch-api 
  4.     1.0.2 
  5.  

 

代表API:

12. Concurrent

推荐学习指数1

Concurrency Utilities for Java EE:Java企业平台并发工具。额......希望是和企业平台整合,所以定义了一堆借口。结果是:一句话,没啥用,JUC足矣。

API的GAV:

  1.  
  2.     jakarta.enterprise.concurrent 
  3.     jakarta.enterprise.concurrent-api 
  4.     1.1.2 
  5.  

 

代表API:

13. Interceptors

推荐学习指数 1

它是Java EE的拦截器,和EJB一起使用。如@AroundInvoke、@Intercerptors

API的GAV:

  1.  
  2.     jakarta.interceptor 
  3.     jakarta.interceptor-api 
  4.     1.2.5 
  5.  

 

代表API:

总结

企业应用技术是Java EE为企业级开发量身打造的一系列技术合集,曾经叱咤市场数十年,现在回头再看早已风头不再,不禁让人感叹。

共包含13项具体技术,其中:

1个仍为主流:Bean Validation

2个还比较重要:JPA、Common Annotation

其它的存在感已越来越弱,几近消亡

 

Web应用技术 + 企业应用技术覆盖了Java EE体系的核心内容,下文将继续补充剩下的3个part。

 

来源: BAT的乌托邦内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯