Glassfish 4 中的 JAX-RS 实现
JAX-RS implementantion in Glassfish 4
我对 JavaEE 和 Glassfish 有一点不了解。
据我所知JavaEE是一组不同服务的接口。其中之一是 JAX-RS,用于创建 RESTful 应用程序。
但是为了使用这些接口之一,我需要它的一个实现。所以有很多实现,例如 RESTEasy、Jersey 等。但我有点困惑。 Glassfish 使用哪个实现?它有自己的或实现现有的之一,例如 Jersey?
我的问题不仅与 JAX-RS 有关,而且与其他接口有关,但我想它对于每个接口都是类似的。
一般来说,每个应用程序服务器都有自己的不同 Java EE 规范的实现,我会给你几个 Glassfish 和 JBoss(目前是 Wildfly)的例子
- JAX-RS - Glassfish 使用 Jersey,它也是参考实现(与使用 RESTEasy 的 JBoss 或 Wildfly 相反)
- JPA - Glassfish 使用 EclipseLink(同样是参考实现)并且 JBoss 有 Hibernate
- CDI - 两者都有焊接
- JTA - Glassfish 使用 Glassfish 的 JTA 实现,JBoss 有 Narayana
- JSF - 都使用 Mojarra
作为开发人员,您的项目通常只需要依赖规范中描述的接口(除非您想要规范之外的特殊内容),这对您意味着什么,因此您不关心实现,只需让您的应用程序服务器注入正确的一个。这对您的项目有好处,因为您不需要那么多依赖项。您还可以通过 Maven 将这些依赖项指定为 provided
,这样当您构建项目时,它不会包含额外的 JAR,它会给您更轻量级的 JAR 或 WAR.
我对 JavaEE 和 Glassfish 有一点不了解。
据我所知JavaEE是一组不同服务的接口。其中之一是 JAX-RS,用于创建 RESTful 应用程序。
但是为了使用这些接口之一,我需要它的一个实现。所以有很多实现,例如 RESTEasy、Jersey 等。但我有点困惑。 Glassfish 使用哪个实现?它有自己的或实现现有的之一,例如 Jersey?
我的问题不仅与 JAX-RS 有关,而且与其他接口有关,但我想它对于每个接口都是类似的。
一般来说,每个应用程序服务器都有自己的不同 Java EE 规范的实现,我会给你几个 Glassfish 和 JBoss(目前是 Wildfly)的例子
- JAX-RS - Glassfish 使用 Jersey,它也是参考实现(与使用 RESTEasy 的 JBoss 或 Wildfly 相反)
- JPA - Glassfish 使用 EclipseLink(同样是参考实现)并且 JBoss 有 Hibernate
- CDI - 两者都有焊接
- JTA - Glassfish 使用 Glassfish 的 JTA 实现,JBoss 有 Narayana
- JSF - 都使用 Mojarra
作为开发人员,您的项目通常只需要依赖规范中描述的接口(除非您想要规范之外的特殊内容),这对您意味着什么,因此您不关心实现,只需让您的应用程序服务器注入正确的一个。这对您的项目有好处,因为您不需要那么多依赖项。您还可以通过 Maven 将这些依赖项指定为 provided
,这样当您构建项目时,它不会包含额外的 JAR,它会给您更轻量级的 JAR 或 WAR.