2013-10-03 7 views
1

ApacheCXF를 사용하여 RESTful 서비스를 개발 중입니다. 각 레이어에 빈을 삽입하기 위해 Spring을 사용하고 있습니다. 3 계층 - REST 계층, 서비스 계층 (비즈니스 논리 계층) 및 DAO 계층. 서비스 계층에 @Service 및 DAO 계층에 @Repository를 주석으로 추가 할 수 있지만 Rest 클래스에 주석을 달려면 어떻게해야할까요? @Controller로 주석을 달 것을 제안 하시겠습니까? Spring MVC를 사용하여 REST를 개발한다면 Rest 클래스가 @Controller로 주석 처리되는 많은 예제를 본 적이있다. IMO, Spring MVC는 프리젠 테이션 레이어와도 관련이있다. (틀릴 수도 있고별로 생각하지 않을 수도있다.) 그러나 이것은 하나의 서버에서 호스팅되어 일부 데이터를 소비하는 웹 서비스 일 뿐이다. 다른 응용 프로그램. 과거에는 Spring MVC를 사용하지 않았지만, Spring MVC를 사용하여 REST 서비스를 개발할 것을 제안하는시기는 언제입니까? 이점은 무엇입니까?REST 레이어의 스프링 주석

답변

2

이미 Spring을 사용하고 있다면 Spring MVC가 RESTful 서비스를 작성하는 방법이다.

스프링 3 이전에는 스프링 MVC가 HTML을 웹 브라우저에 반환하는 전통적인 모델 뷰 컨트롤러 웹 앱에 집중되어있었습니다. Spring 3은 일반적으로 JSON 또는 XML 페이로드를 반환하도록 구성된 Spring @Controller를 사용하여 RESTful 서비스를 빌드하는 지원을 추가했습니다.

이미 작성된 내용을 재사용하는 것이 아니라 this blog post은 Spring 3에 추가 된 REST 지원에 대한 좋은 소개이며 많은 이점을 설명합니다.

+0

응답 해 주셔서 감사합니다. Jersey, RestEasy 및 Apache-CXF는 JAX-RS의 구현입니다. Spring MVC는 어디에 적합합니까? JAX-RS 구현 중 하나인가 아니면 Spring MVC가 구현 중 하나와 함께 존재 하는가? REST 풀 서비스를 개발하기 위해 Spring MVC를 사용한다면 어떤 이점이 있습니까? – Pankaj

+0

Spring MVC는 JAX-RS 사양을 구현하지 않습니다. RESTful 서비스를 위해 Spring MVC를 사용하면 Spring을 이미 사용하고있는 나머지 애플리케이션과 일관된 프로그래밍 모델을 얻을 수있다. 따라서 개발 및 유지 관리가 더 쉬워야합니다. –