복붙노트

[SPRING] Spring 3.0에 포함시킬 maven 종속성은 무엇입니까?

SPRING

Spring 3.0에 포함시킬 maven 종속성은 무엇입니까?

Spring 3.0 (and maven)으로 첫 번째 프로젝트를 수행하려고합니다. 나는 꽤 많은 프로젝트에서 Spring 2.5 (및 입문서 버전)를 사용 해왔다. 그럼에도 불구하고 필자는 pom.xml에서 종속성으로 정의해야하는 모듈을 다소 혼란스럽게 생각합니다. 난 단지 핵심 컨테이너 함수 (bean, core, context, el)를 사용하고 싶다.

나는 이것을하는 데 익숙했다.

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring</artifactId>
    <version>2.5.6</version>
</dependency>

하지만 이제 버전 3.0 용으로 완전 패키지 된 스프링 모듈이 없으므로 다소 혼란 스럽습니다. 다음과 같은 시도했지만 작동하지 않았다 (일부 클래스가 누락되었습니다).

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>

어떤 도움을 주시면 감사하겠습니다!

해결법

  1. ==============================

    1.Keith Donald가 스프링 블로그에 정말 좋은 글을 올렸습니다. Maven을 사용하여 Spring 3 Aritfacts를 얻는 방법에 대해 자세히 설명합니다. 각각의 의존성이 필요할 때 자세히 설명합니다 ...

    Keith Donald가 스프링 블로그에 정말 좋은 글을 올렸습니다. Maven을 사용하여 Spring 3 Aritfacts를 얻는 방법에 대해 자세히 설명합니다. 각각의 의존성이 필요할 때 자세히 설명합니다 ...

    <!-- Shared version number properties -->
    <properties>
        <org.springframework.version>3.0.0.RELEASE</org.springframework.version>
    </properties>
    <!-- Core utilities used by other modules.
        Define this if you use Spring Utility APIs 
        (org.springframework.core.*/org.springframework.util.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Expression Language (depends on spring-core)
        Define this if you use Spring Expression APIs 
        (org.springframework.expression.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Bean Factory and JavaBeans utilities (depends on spring-core)
        Define this if you use Spring Bean APIs 
        (org.springframework.beans.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Aspect Oriented Programming (AOP) Framework 
        (depends on spring-core, spring-beans)
        Define this if you use Spring AOP APIs 
        (org.springframework.aop.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Application Context 
        (depends on spring-core, spring-expression, spring-aop, spring-beans)
        This is the central artifact for Spring's Dependency Injection Container
        and is generally always defined-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Various Application Context utilities, including EhCache, JavaMail, Quartz, 
        and Freemarker integration
        Define this if you need any of these integrations-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Transaction Management Abstraction 
        (depends on spring-core, spring-beans, spring-aop, spring-context)
        Define this if you use Spring Transactions or DAO Exception Hierarchy
        (org.springframework.transaction.*/org.springframework.dao.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- JDBC Data Access Library 
        (depends on spring-core, spring-beans, spring-context, spring-tx)
        Define this if you use Spring's JdbcTemplate API 
        (org.springframework.jdbc.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Object-to-Relation-Mapping (ORM) integration with Hibernate, JPA and iBatis.
        (depends on spring-core, spring-beans, spring-context, spring-tx)
        Define this if you need ORM (org.springframework.orm.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Object-to-XML Mapping (OXM) abstraction and integration with JAXB, JiBX, 
        Castor, XStream, and XML Beans.
        (depends on spring-core, spring-beans, spring-context)
        Define this if you need OXM (org.springframework.oxm.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-oxm</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Web application development utilities applicable to both Servlet and 
        Portlet Environments 
        (depends on spring-core, spring-beans, spring-context)
        Define this if you use Spring MVC, or wish to use Struts, JSF, or another
        web framework with Spring (org.springframework.web.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Spring MVC for Servlet Environments 
        (depends on spring-core, spring-beans, spring-context, spring-web)
        Define this if you use Spring MVC with a Servlet Container such as 
        Apache Tomcat (org.springframework.web.servlet.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Spring MVC for Portlet Environments 
        (depends on spring-core, spring-beans, spring-context, spring-web)
        Define this if you use Spring MVC with a Portlet Container 
        (org.springframework.web.portlet.*)-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc-portlet</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <!-- Support for testing Spring applications with tools such as JUnit and TestNG
        This artifact is generally always defined with a 'test' scope for the 
        integration testing framework and unit testing stubs-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${org.springframework.version}</version>
        <scope>test</scope>
    </dependency>
    
  2. ==============================

    2.Spring (요즘)은 하나의 의존성을 사용하여 Spring을 프로젝트에 쉽게 추가 할 수있게 해준다.

    Spring (요즘)은 하나의 의존성을 사용하여 Spring을 프로젝트에 쉽게 추가 할 수있게 해준다.

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

    이것으로 해결할 것입니다.

    [INFO] The following files have been resolved:
    [INFO]    aopalliance:aopalliance:jar:1.0:compile
    [INFO]    commons-logging:commons-logging:jar:1.1.1:compile
    [INFO]    org.springframework:spring-aop:jar:3.1.2.RELEASE:compile
    [INFO]    org.springframework:spring-asm:jar:3.1.2.RELEASE:compile
    [INFO]    org.springframework:spring-beans:jar:3.1.2.RELEASE:compile
    [INFO]    org.springframework:spring-context:jar:3.1.2.RELEASE:compile
    [INFO]    org.springframework:spring-core:jar:3.1.2.RELEASE:compile
    [INFO]    org.springframework:spring-expression:jar:3.1.2.RELEASE:compile
    

    더 자세한 정보는 Spring Framework 문서 페이지를보십시오.

  3. ==============================

    3.

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>
    
  4. ==============================

    4.이 질문은 여전히 ​​많은 의견을 갖고있는 것처럼 보이므로 Spring 4+의 경우 Spring Boot 및 Spring Boot 시작 POM을 사용하는 것이 가장 쉽다는 점에 유의하는 것이 유용 할 수 있습니다.

    이 질문은 여전히 ​​많은 의견을 갖고있는 것처럼 보이므로 Spring 4+의 경우 Spring Boot 및 Spring Boot 시작 POM을 사용하는 것이 가장 쉽다는 점에 유의하는 것이 유용 할 수 있습니다.

    Spring Boot를 사용하면 관리 할 의존성이 줄어들며 충돌이 적어지고, 잘 작동하는 잘 작동하는 Spring Context를 설정하는 것이 훨씬 쉽습니다. 나는 그것을 매우 추천한다.

  5. ==============================

    5.누락 된 수업은 무엇입니까? 클래스 이름 자체는 누락 된 모듈에 대한 좋은 단서가되어야합니다.

    누락 된 수업은 무엇입니까? 클래스 이름 자체는 누락 된 모듈에 대한 좋은 단서가되어야합니다.

    참고로, 나는 그 스프링 용기를 포함시키는 것이 정말 편리하다는 것을 알고 있지만 이것은 다른 프로젝트와 통합 할 때 정말로 문제가됩니다. 종속성 시스템의 이점 중 하나는 종속성 간의 버전 충돌을 해결한다는 것입니다.

    내 라이브러리가 spring-core : 2.5에 의존하고 내 라이브러리와 uber-spring : 3.0에 의존한다면 클래스 패스에 2 가지 버전의 스프링이있다.

    제외를 통해이 문제를 해결할 수 있지만 종속성을 올바르게 나열하고 이에 대해 걱정할 필요가 없습니다.

  6. ==============================

    6.이것을 시도 할 수 있습니다.

    이것을 시도 할 수 있습니다.

    <dependencies>
    
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.1.0.RELEASE</version>
        </dependency>
    
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.1.0.RELEASE</version>
        </dependency>
    
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.1.0.RELEASE</version>
        </dependency>
    </dependencies>`
    
  7. ==============================

    7.spring jars에 대한 스프링 - 컨텍스트 의존성을 추가 할 수 있습니다. 당신은 그것과 함께 다음 항아리를 얻을 것이다.

    spring jars에 대한 스프링 - 컨텍스트 의존성을 추가 할 수 있습니다. 당신은 그것과 함께 다음 항아리를 얻을 것이다.

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    

    또한 웹 구성 요소가 필요한 경우 spring-webmvc 종속성을 사용할 수 있습니다.

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

    원하는 버전을 사용할 수 있습니다. 5.0.5.RELEASE를 사용했습니다.

  8. from https://stackoverflow.com/questions/2237537/which-maven-dependencies-to-include-for-spring-3-0 by cc-by-sa and MIT license