欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用Maven配置Spring的方法步骤

程序员文章站 2023-12-09 17:58:15
这篇文章说明了如何通过maven配置spring依赖项。最新的spring版本可以在maven central上找到。 maven中的spring基本依赖关系 sp...

这篇文章说明了如何通过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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。