Разница между spring mvc и Jersey

Есть ли какой-либо компромисс между использованием Spring mvc и контейнера сервлетов Jersey Rest? Джерси следует за стандартом Jax RS. Когда я узнаю Spring mvc, более или менее выглядит одинаково. В некоторых приложениях я обнаружил, что люди используют свиток Spring. Если Spring (диспетчерский сервлет с отображением обработчика) может выполнить всю работу, то в чем здесь нуждается Джерси? Спасибо заранее.

Ответы

Ответ 1

Spring MVC - это полная инфраструктура веб-интерфейса, включая поддержку HTML и других шаблонов, а также другие функции в дополнение к функциям JSON/XML REST, предоставленным компанией Jersey.

Spring MVC был вокруг первого и имеет свой собственный способ делать вещи. JAX-RS был определен как стандарт для обработчиков REST на основе аннотаций, а Джерси - это реализация этого стандарта. (Он очень похож на @Autowired и CDI.)

Я лично предпочитаю Spring MVC, потому что я строю на стек Spring и могу повторно использовать код между моими обработчиками JSON и HTML, но компоненты, предназначенные для развертывания как одна часть собственной системы клиента, могут быть более гибкими, если использовать JAX-RS.

Ответ 2

Лично я считаю, что это просто вопрос предпочтения и с какой точки зрения вы смотрите на него. Я хотел бы сказать, что при создании этого соображения при создании разных уровней можно сказать, что есть дополнительный слой REST, поверх других слоев бизнеса, настойчивости и т.д. Точно так же, как реализации персистентности можно поменять, так что можно реализовать REST.

При этом, хотя классы endpoint/controller/resource выглядят одинаково в реализации, другие функции (слоя REST) ​​реализованы совершенно иначе. Рассматривая его с точки зрения Spring, я думаю, что те, кто комфортно с Spring, захотят сохранить MVC как реализацию REST, поскольку он знакомство

Глядя на это с точки зрения Джерси, я думаю, что большинство решений по интеграции приходит; выбирая, как реализовать слои ниже слоя REST. Для этого Spring будет жизнеспособным выбором, так как он имеет богатую экосистемную систему. Но, будучи пользователем Джерси, каркас Джерси (для реализации REST) ​​кажется намного более интуитивным, но это полностью предвзято. Чтобы использовать Spring и Jersey вместе, вы можете посмотреть Сочетание проекта Spring и Джерси

Насколько Джерси является реализацией JAX-RS, я не считаю это решающим фактором при выборе реализации REST, глядя на нее с точки зрения Spring. Я действительно не вижу, чтобы это было значительным фактором. В среде Java EE убедитесь, что вы можете поменять местами реализации с небольшим количеством проблем, но при интеграции Spring это не так просто, поскольку существуют интеграционные модули и конфигурации, связанные с интеграцией различных реализаций JAX-RS с помощью Spring.