2012-11-23 3 views
66

다음 종속성 간의 차이점은 무엇입니까?Maven 종속성 spring-web 대 spring-webmvc

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>3.1.2.RELEASE</version> 
</dependency> 

혼자 다음 spring-web 암시 적으로 추가됩니다 spring-webmvc을 포함하는 경우

<dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>3.1.2.RELEASE</version> 
</dependency> 

대.

언제 spring-web만을 사용해야합니까?

답변

90

spring-web은 몇 가지 편리한 서블릿 필터, Spring HTTP 호출자, 다른 웹 프레임 워크 및 HTTP 기술과 통합하기위한 인프라를 포함하여 핵심 HTTP 통합을 제공합니다. 헤센, 삼베.

spring-webmvc은 Spring MVC의 구현물이다. spring-webmvcdepends onspring-web이므로,이를 포함하여 spring-web을 일시적으로 추가합니다. spring-web을 명시 적으로 추가 할 필요는 없습니다.

Spring MVC를 사용하지 않고 Spring이 지원하는 다른 웹 관련 기술을 이용하려면 spring-web에만 의존해야합니다.

+3

동의 함, +1. 그러나 드문 경우 :'spring-webmvc' inturn을 포함하면'spring-web'이 추가되지만 4.0.2로 spring-webmvc 버전이 있고'0.83의 swagger-springmvc 버전 '이라는 또 다른 종속성을 추가하면, 3.2.x의'spring-web' 버젼을 추가합니다. 이 경우에는 예외를 찾을 수없는 클래스가 생길 수 있습니다. 여기서는 스프링 웹과 버전을 4.0.2로 명시 적으로 추가해야합니다. 오늘이 문제가 발생했습니다. – spiderman

+2

@spiderman'swagger-springmvc'에서 전이적인'spring-web' 종속성을 제외 시켰습니다. – Roger