你好,我是方同学(YourBatman)
若你还不太清楚Java EE是什么,可先移步这里:什么是Java EE?
上篇文章已经聊过了Java EE最重要的部分:Web应用技术,发现情况“惨不忍睹”,8项技术仅剩Servlet依旧保持主流,其它的均已淘汰或濒临淘汰。“此景”详情可移步阅读:上篇文章。
本文继续,继续领略Java EE的企业应用技术,它曾在企业级开发中叱咤风云,来看看它现在的生存现状。为了便于理解,还是贴上这张分类图:
BATutopia-Java EE
Enterprise Application Technologies,共13种规范。
在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节。比如参数不能为null,email必须符合email的格式,如果手动进行if判断或者写正则表达式判断无意开发效率太低,在时间、成本、质量的博弈中必然会落后。正所谓专业的事情交给专业的组件去做,我们可把校验层抽象出来,这就是Bean Validation。
Bean Validation简直就是业务开发中祛掉坏味道代码的利器,完美的实现契约式编程,大大提高开发效率,降低出错概率。
API的GAV:
jakarta.validation jakarta.validation-api 2.0.2
代表API:
Bean Validation的实现有Apache的 Bval和Hibernate Validator,前者可忽略,后者几乎成为唯一实现。
推荐学习指数2
Enterprise JavaBeans它就是鼎鼎大名的EJB,也叫企业级JavaBean。EJB技术的诞生标志着Java Beans的运行正式从客户端领域扩展到服务器领域。
用于基于组件的事务性分布式编程。EJB不仅指定了bean格式,而且定义了运行bean的容器必须提供的一组服务。因此,开发人员无需担心服务细节,例如安全性,事务支持或任何远程对象访问。如此以至,想运行EJB必须有EJB容器,如JBoss,WebLogic,WebSphere等......就问你重不重?
API的GAV:
代表API:
由EJB容器提供实现。
推荐学习指数3
Dependency Injection该规范比较简单,约定了一些标准注解:
API的GAV:
jakarta.inject jakarta.inject-api 1.0.3
代表API:如上
CDI容器、Spring IoC容器、Guice容器等均有提供实现。
推荐学习指数 3
Contextual Dependency Injection上下文依赖注入。其实它包含两个概念:
Spring的容器我们熟悉,CDI就是Java EE的容器。
API的GAV:
jakarta.enterprise jakarta.enterprise.cdi-api 2.0.2
代表API:
推荐学习指数 4
Java Persistence API:Java持久层API。描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
API的GAV:
jakarta.persistence jakarta.persistence-api 2.2.3
代表API:
其实JPA的实现除了Hibernate,还有Eclipsellink,OpenJPA或Batoo。
推荐学习指数 3
Java Message Service:Java消息服务。两个应用程序之间需要进行通信,我们使用一个JMS服务,进行中间的转发,通过JMS 的使用,我们可以解除两个程序之间的耦合。也是我们常说的MQ。
JMS有一个类似协议AMQP,请注意区分
API的GAV:
jakarta.jms jakarta.jms-api
代表API:
ActiveMQ是对JMS的典型实现。
推荐学习指数 3
JavaMail:Java邮件。顾名思义,帮助我们发送Email电子邮件用的。方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如SMTP,POP3,IMAP,还有MIME。
API的GAV:
jakarta.mail jakarta.mail-api 1.6.7
代表API:
并不是发邮件不重要,而是实际使用中我们大概率不需要关心其底层API,而使用更高层级的封装工具。
推荐学习指数 3
Java Transaction API (JTA):用于描述Java EE框架中事务管理器与应用程序,资源管理器,以及应用服务器之间的事务通讯。简而言之:分布式事务规范。XA是分布式协议规范,而JAT是Java中对XA协议的实现。
API的GAV:
jakarta.transaction jakarta.transaction-api 1.3.3
代表API:
推荐学习指数 4
Common Annotations for the Java Platform:Java平台通用注解。这就是我们特别熟悉的JSR 250 通用注解:
API的GAV:
jakarta.annotation jakarta.annotation-api 1.3.5
代表API:同上
值得注意的是,该jar 没必要导入,因为自JDK 6开始已经被集成到Java SE内部了。
推荐学习指数 1
Java EE Connector Architecture:Java连接体系架构,是对Java EE标准集的重要补充。因为它注重的是将Java程序连接到非Java程序和软件包中间件的开发。
JCA的目标:企业应用程序集成方面,它提供的标准化体系结构让Java EE组件能够对异构 EIS进行“即插即用”的访问,其中包括ERP、事务处理、老式数据库系统等。
API的GAV:
- 无单独Jar,是一种架构说明
代表API:无
推荐学习指数 1
Batch Applications for the Java Platform:Java平台的批处理规范。从它出生起就被认为是抄袭Spring Batch项目的,所以没啥好聊的~
API的GAV:
jakarta.batch jakarta.batch-api 1.0.2
代表API:
推荐学习指数1
Concurrency Utilities for Java EE:Java企业平台并发工具。额......希望是和企业平台整合,所以定义了一堆借口。结果是:一句话,没啥用,JUC足矣。
API的GAV:
jakarta.enterprise.concurrent jakarta.enterprise.concurrent-api 1.1.2
代表API:
推荐学习指数 1
它是Java EE的拦截器,和EJB一起使用。如@AroundInvoke、@Intercerptors
API的GAV:
jakarta.interceptor jakarta.interceptor-api 1.2.5
代表API:
企业应用技术是Java EE为企业级开发量身打造的一系列技术合集,曾经叱咤市场数十年,现在回头再看早已风头不再,不禁让人感叹。
共包含13项具体技术,其中:
1个仍为主流:Bean Validation
2个还比较重要:JPA、Common Annotation
其它的存在感已越来越弱,几近消亡
Web应用技术 + 企业应用技术覆盖了Java EE体系的核心内容,下文将继续补充剩下的3个part。
分享文章:JavaEE几十种技术,“活着的”还剩几何(企业应用技术篇)
标题链接:http://www.csdahua.cn/qtweb/news29/468329.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网