为什么在Java SE中实现某些Java EE API?

问题描述 投票:0回答:1

我最近注意到了一些API,这些API应该是Java EE的一部分,但已在Java EE中实现。例如,有一个JAX-WS,它是Java EE API,但可以在完全Java SE项目中使用。

我有什么问题吗? Java SE中有一些可用的API?在哪里可以找到有关JEE和JSE中都包含哪些API的信息?

java java-ee
1个回答
0
投票

Java SE API本质上是Java标准库。 Java Platform Docs

上有一个漂亮的图表

这是“基础库”的列表:https://docs.oracle.com/javase/8/docs/technotes/guides/index.html#langutil

其中包括java.lang,数学,集合,反射,并发,日志记录,首选项,io,网络...。(请注意,其中许多都没有像日志记录一样被Java社区广泛使用,其中slf4j-api是分解标准)。

然后,还有“集成库”,其中包括诸如JDBC(数据库访问)和JNDI(诸如LDAP之类的东西)和“用户界面库”(以前是Swing和JavaFX,但现在又回到了Swing) 。

Java EE APIs包括许多其他内容,例如您提到的电子邮件和JAX-RS,它们扩展了Java库,并且从理论上讲,应该在SE API的基础上进行交互和工作,从而提供适合企业开发的全面集成。

它们不是JavaSE运行时实现的!

但是,每个JavaEE API可以由独立的组织(或任何有足够的业余时间来投入工作的人)独立实现,并可以从大部分Java SE应用程序中单独使用。这就是为什么有很多实现Servlet API的Servlet容器(Tomcat,Jetty,GlassFish和many others)可用的原因]

应该注意,最近,JavaEE已正式成为JakartaEE项目。有一个可搜索的项目列表here

[我也要提到,由OSGi联盟在big set of APIs世界中与JavaEE并行开发的另一个OSGi,其重点是动态Java应用程序的模块化。

最后,是一个竞争性的框架,Spring在Java世界中非常占主导地位(并且实际上已经对JavaEE本身的发展产生了很大影响),甚至在今天,像Spring Boot这样对初学者友好的项目可能比JavaEE本身!

[我,我只喜欢坚持使用Java SE,一些EE API,例如Servlets和JDBC作为基本要素,以及社区驱动的项目(例如,参见MicronautVert.x),它们确实很酷,并且并非基于完全没有任何标准!

总之,Java世界很大,种类繁多! JavaEE只是其中的一小部分。

© www.soinside.com 2019 - 2024. All rights reserved.