봄 3.0에 포함할 메이븐 종속성은 무엇입니까?
Spring 3.0(및 maven)으로 첫 프로젝트를 진행하려고 합니다.저는 Spring 2.5(및 프라이머 버전)를 꽤 많은 프로젝트에서 사용하고 있습니다.하지만 pom.xml에서 어떤 모듈을 의존관계로 정의해야 하는지 혼란스럽습니다.코어 컨테이너 기능(beans, 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>
어떤 도움이라도 주시면 감사하겠습니다!
Keith Donald가 보낸 Spring Blog에는 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>
스프링(요즘)을 사용하면 다음과 같은 하나의 종속성을 사용하여 프로젝트에 스프링을 쉽게 추가할 수 있습니다.
<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 문서 페이지를 참조하십시오.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.0.0.RELEASE</version>
</dependency>
이 질문은 여전히 많은 조회수를 얻고 있는 것 같기 때문에 Spring 4+에서는 사용을 시작하는 것이 가장 쉬울 수 있습니다.Spring Boot스프링 부츠 스타터 POM을 준비했습니다.
Spring Boot을 사용하면 관리 의존성이 낮아지고(따라서 경합이 적어지며) 제대로 통합된 Spring Context를 설정하는 것이 훨씬 쉬워집니다.강력추천합니다.
어떤 수업이 빠졌나요?클래스 이름 자체가 모듈 누락에 대한 좋은 단서가 될 것입니다.
참고로, uber spring jar를 포함시키는 것이 매우 편리하다는 것은 알지만, 다른 프로젝트와 통합할 때 문제가 발생합니다.의존관계 시스템의 이점 중 하나는 의존관계 간의 버전 경합을 해결할 수 있다는 것입니다.
내 라이브러리가 spring-core: 2.5에 의존하고 내 라이브러리와 uber-spring: 3.0에 의존하는 경우 클래스 경로에 2가지 버전의 스프링이 있습니다.
제외를 통해 이 문제를 해결할 수 있지만 종속성을 올바르게 나열하는 것이 훨씬 쉬우며 걱정할 필요가 없습니다.
스프링 병에 스프링 컨텍스트 종속성을 추가할 수 있습니다.다음과 같은 항아리가 함께 제공됩니다.
<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를 사용하고 있습니다.여기서 해방합니다.
이거 드셔보세요
<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>`
BOM을 사용하여 버전 문제를 해결합니다.
서드파티 라이브러리 또는 다른 Spring 프로젝트가 이전 릴리스에 대한 과도적 종속성을 가져올 수 있습니다.직접 직접 종속성을 명시적으로 선언하는 것을 잊은 경우 예기치 않은 모든 문제가 발생할 수 있습니다.
이러한 문제를 해결하기 위해 Maven은 "BOM(Bill of Materials)" 종속성의 개념을 지원합니다.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>3.2.12.RELEASE</version>
<type>pom</type>
</dependency>
언급URL : https://stackoverflow.com/questions/2237537/which-maven-dependencies-to-include-for-spring-3-0
'programing' 카테고리의 다른 글
| Java 열거형에서 valueof() 및 toString()을 덮어씁니다. (0) | 2022.10.23 |
|---|---|
| PHP - 두 배열이 동일한지 확인합니다. (0) | 2022.10.23 |
| 대용량 텍스트 파일을 메모리에 로드하지 않고 한 줄씩 읽는 방법은 무엇입니까? (0) | 2022.10.22 |
| MySQL에서 행 수 증가 속도 향상 (0) | 2022.10.22 |
| 지정된 디렉토리의 파일을 반복하려면 어떻게 해야 합니까? (0) | 2022.10.22 |

