使用Maven配置Spring的方法步骤
这篇文章说明了如何通过maven配置spring依赖项。最新的spring版本可以在maven central上找到。
maven中的spring基本依赖关系
spring的设计是高度模块化的 - 使用spring的一部分不应该而且不需要另一部分。例如,基本的spring context可以没有persistence或mvc spring库。
让我们先从一个基本maven配置,将只使用了spring-context依赖:
<properties> <org.springframework.version>3.2.8.release</org.springframework.version> <!-- <org.springframework.version>4.0.2.release</org.springframework.version> --> </properties> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> <version>${org.springframework.version}</version> <scope>runtime</scope> </dependency>
这个依赖项 - spring-context - 定义了实际的spring injection container,并且有少量的依赖项:spring-core,spring-expression,spring-aop和spring-beans。通过支持一些核心spring技术来扩充容器:core spring实用程序,spring表达式语言(spel),和javabeans机制。
注意我们在运行时范围中定义了依赖关系- 这将确保在任何特定于spring的api上没有编译时依赖性。对于更高级的用例,可以从一些选定的spring依赖项中删除运行时范围,但是对于更简单的项目,不需要针对spring进行编译以充分利用该框架。
另请注意,从spring 3.2开始,不需要定义cglib依赖项(现在已升级到cglib 3.0) - 它已被重新打包(所有net.sf.cglib包现在是org.springframework.cglib)并且直接在内部内联spring-core jar(有关其他详细信息,请参阅jira)。
maven配置spring persistence
现在让我们看一下spring persistence依赖关系 - 主要是spring-orm:
<dependency> <groupid>org.springframework</groupid> <artifactid>spring-orm</artifactid> <version>${org.springframework.version}</version> </dependency>
这附带了hibernate和jpa支持 - 例如hibernatetemplate和jpatemplate - 以及一些额外的,持久性相关的依赖项:spring-jdbc和spring-tx。
jdbc数据访问库定义了spring jdbc支持以及jdbctemplate,而spring-tx代表了极其灵活的。
maven配置spring mvc
要使用spring web和servlet支持,除了上面的核心依赖项外,还需要在pom中包含两个依赖项:
<dependency> <groupid>org.springframework</groupid> <artifactid>spring-web</artifactid> <version>${org.springframework.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>${org.springframework.version}</version> </dependency>
spring-web依赖项包含servlet和portlet环境的公共web特定实用程序,而spring-webmvc支持servlet环境的mvc。
由于spring-webmvc将spring-web作为依赖项,因此在使用spring-webmvc时不需要明确定义spring-web。
使用maven配置spring test
spring test framework可以通过以下依赖项包含在项目中:
<dependency> <groupid>org.springframework</groupid> <artifactid>spring-test</artifactid> <version>${spring.version}</version> <scope>test</scope> </dependency>
从spring 3.2开始,spring mvc test项目已经包含在核心测试框架中 - 因此包括spring-test依赖就足够了。
使用milestones
spring的发布版本托管在maven central上。但是,如果项目需要使用milestones版本,则需要将自定义spring存储库添加到pom中:
<repositories> <repository> <id>repository.springframework.maven.milestone</id> <name>spring framework maven milestone repository</name> <url>http://repo.spring.io/milestone/</url> </repository> </repositories>
已定义了一个此存储库,该项目可以定义依赖项,例如:
<dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>3.2.0.rc2</version> </dependency>
使用snapshots
与milestones类似,snapshots托管在自定义存储库中:
<repositories> <repository> <id>repository.springframework.maven.snapshot</id> <name>spring framework maven snapshot repository</name> <url>http://repo.spring.io/snapshot/</url> </repository> </repositories>
在pom.xml中启用snapshot存储库后,可以引用以下依赖项:
<dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>3.3.0.build-snapshot</version> </dependency>
对于4.x:
<dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>4.0.3.build-snapshot</version> </dependency>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。