春季mvc和泽西岛之间的区别

时间:2015-04-17 02:55:20

标签: java rest spring-mvc jersey

使用Spring mvc和Jersey Rest servlet容器之间是否有任何权衡?泽西遵循Jax RS标准。当我学习Spring mvc时,或多或少看起来一样。在某些应用中,我发现人们使用的是针织弹簧servlet。如果spring(带有处理程序映射的调度程序servlet)可以完成所有工作,那么Jersey需要什么呢?提前谢谢。

2 个答案:

答案 0 :(得分:12)

Spring MVC是一个完整的Web前端框架,除了Jersey提供的JSON / XML REST功能外,还支持HTML和其他模板以及其他功能。

Spring MVC是第一个拥有自己的做事方式。 JAX-RS被定义为基于注释的REST处理程序的标准,而Jersey是该标准的实现。 (它与@Autowired和CDI非常相似。)

我个人更喜欢Spring MVC,因为我构建了Spring堆栈并且可以在我的JSON和HTML处理程序之间重用代码,但是如果使用JAX-RS,那些打算作为客户自己系统的一部分进行部署的组件可能会更灵活。

答案 1 :(得分:6)

就我个人而言,我认为这只是一个偏好问题以及您从中看待它的观点。我会继续说,在进行这种考虑时,在构建不同的层时,可以说除了其他业务,持久性等层之外还有一个额外的REST层"#34;就像可以交换持久性实现一样,REST实现也是如此。

话虽如此,尽管端点/控制器/资源类在实现中看起来相似,但(REST层的)其他功能实现完全不同。从Spring的角度来看,我认为那些对Spring感到满意的人会选择将MVC作为REST实现,因为它的熟悉程度

从泽西岛的角度来看,这是我认为大部分整合决策的来源;选择如何在REST层下面实现层。对于那个春天来说,它是一个可行的选择,因为它拥有丰富的生态系统。但作为Jersey用户,Jersey框架(用于REST实现)似乎更直观,但这完全是偏见。要同时使用Spring和Jersey,您可以查看Combining Spring project and Jersey

就Jersey是一个JAX-RS实现而言,从Spring的角度来看,我不认为它是选择REST实现的决定性因素。我真的不认为这是一个很重要的因素。在Java EE环境中,确保您可以轻松地交换实现,但是当涉及Spring集成时,它并不那么容易,因为集成模块和配置涉及将每个不同的JAX-RS实现与Spring集成

相关问题