Разница между JAX-RS и пружинным упором



я перепутал с разницей между JAX-RS (ну, может быть, следует использовать Джерси для сравнения, так как JAX-RS-это просто спецификация) и весна для спокойных услуг. Я попытался найти дополнительную информацию в интернете, и это стало более запутанным. Моя компания использует Spring MVC для разработки Restful API



запутанная часть, JAX-RS означает Java API для RESTful Web Services, весной я также использую java для разработки RESTful Web Услуги, поэтому я на самом деле не получаю различий. Весна следует за спецификациями Джакс-РС?



насколько я знаю до сих пор:




  1. JAX-RS-это чертеж / спецификация, он имеет Джерси, RESTeasy и т. д. В качестве реализаций.

777   4  

4 ответов:

JAX-RS

JAX-RS - это спецификация для реализации веб-служб REST в Java, в настоящее время определяется JSR-370. Это часть Java EE technologies, в настоящее время определяется JSR 366.

Джерси (поставляется с GlassFish и Payara) является эталонной реализацией JAX-RS, однако есть и другие реализации, такие как RESTEasy (поставляется с JBoss EAP и WildFly) и Apache CXF (поставляется с TomEE и WebSphere).

Spring Framework

The Spring Framework это полная база это позволяет создавать приложения Java enterprise. Остальные возможности предоставляются Spring MVC модуль (тот же модуль, который обеспечивает model-view-controller возможности). Это не реализация JAX-RS и может рассматриваться как весенняя альтернатива JAX-РТС стандартный.

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

примеры

рассмотрим следующий контроллер ресурсов с помощью API JAX-RS:

@Path("/greetings")
public class JaxRsController {

    @GET
    @Path("/{name}")
    @Produces(MediaType.TEXT_PLAIN)
    public Response greeting(@PathParam("name") String name) {

        String greeting = "Hello " + name;
        return Response.ok(greeting).build();
    }
}

эквивалентная реализация с использованием Spring MVC API будет:

@RestController
@RequestMapping("/greetings")
public class SpringRestController {

    @RequestMapping(method = RequestMethod.GET,
                    value = "/{name}", 
                    produces = MediaType.TEXT_PLAIN_VALUE)
    public ResponseEntity<?> greeting(@PathVariable String name) {

        String greeting = "Hello " + name;
        return new ResponseEntity<>(greeting, HttpStatus.OK);
    }
}

С использованием Spring загрузки и Джерси

Spring Boot обеспечивает spring-boot-starter-jersey модуль, который позволяет использовать модель программирования JAX-RS для конечных точек REST вместо Spring MVC. Он работает довольно хорошо с Джерси 2.x.

для полного примера создания веб-приложения с Джерси 2.X и пружинный ботинок 1.4.x, обратитесь к этому ответ.

Я работал как с Джерси отдыха, весеннего отдыха и Джерси отдыха с весной. Оба они являются очень богатыми фреймворками с хорошими реализациями. Я бы предложил, что лучше пойти с весенним отдыхом, если вы используете другие весенние услуги ,такие как ORM, Spring security и DI и т. д. Оба являются весенними библиотеками, поэтому я чувствую себя немного эссе для управления кодом и зависимостями

JAX-RS плюсы:

  • стандарта JSR можно работать без контейнера сервлетов (гризли, простой, ...)
  • готовые к производству реализации (Джерси, cxf, resteasy, restlet, ...) предназначен только для остальных приложений

Весна MVC плюсы:

  • обеспечить" полный " стек, а не только средства отдыха

  • инъекция зависимостей / AOP / Transactions

  • подключаемые шаблоны представления (JSP, freemarker, velocity,...)

вы можете проверить больше по следующим ссылкам

  1. https://www.infoq.com/articles/springmvc_jsx-rs
  2. зачем использовать JAX-RS / Джерси?

различия Аннотация

(по состоянию на 2018 год) Spring не стандартизирована для аннотаций JAX-RS, поскольку ее решение предшествует JAX-RS. Вот эквиваленты:

enter image description here

https://stormpath.com/blog/jax-rs-vs-spring-rest-endpoints

Если вы используете нестандартизированные API, вы должны ожидать, что они будут устарели и, возможно, заменены новым экспериментальным API через несколько лет. Есть намного меньше ответственность за обратную совместимость (например, когда выпускаются новые версии JDK).

JAX-RS-это спецификация, а Джерси и т. д.-Это ее реализация. Люди используют Spring для создания веб-сервисов RestFul, поскольку spring наряду с реализацией restful предоставляет такие вещи, как интеграция hibernate, а также такие вещи, как IoC и ориентированное на аспект Программирование .

где, как если бы мы использовали Джерси для нашей реализации, проблема будет заключаться в том, что данные должны быть извлечены из задней части с использованием некоторых технологий ORM, и нам придется написать шаблонный код для тот же.

именно поэтому люди и даже предприятия используют весну, поскольку наряду с реализацией отдыха она также обеспечивает весенние объекты . И теперь, используя последнюю реализацию Spring boot, мы можем начать разработку очень быстро без большого количества конфигураций.

Comments

    Ничего не найдено.