Which maven dependencies to include for spring 3.0? Which maven dependencies to include for spring 3.0? spring spring

Which maven dependencies to include for spring 3.0?


There was a really nice post on the Spring Blog from Keith Donald detailing howto Obtain Spring 3 Aritfacts with Maven, with comments detailing when you'd need each of the dependencies...

<!-- 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>


Spring (nowadays) makes it easy to add Spring to a project by using just one dependency, e.g.

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

This will resolve to

[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

Have a look at the Spring Framework documentation page for more information.


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