您的位置:首页 > 编程语言 > Java开发

如何在MAVEN中配置Spring的依赖包

2016-09-06 17:20 260 查看

1. 介绍

这篇文档介绍如何在Maven中配置Spring依赖,最新的Spring发布版可以在Maven仓库中找到。

2. 在Maven中Spring的基础配置

Spring是高度模块化的,可以单独使用Spring的某个库而不需要依赖Spring的其他库。比如,使用Spring Context库不需要依赖Spring Persistence或者Spring MVC库。

让我们先从最简单开始,在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>
  <dependencies>
  <!-- spring的依赖包 -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${org.springframework.version}</version>
    <scope>runtime</scope>
  </dependency>


上例定义的对
spring-context
的依赖,
spring-context
实现了Spring注入容器并且依赖:
spring-core
,
spring-expression
,
spring-aop
以及
spring-beans
。这些依赖包使容器可以支持Spring的一些核心技术:Spring核心组件,Spring
EL表达式 (SpEL), 面向切面编程,JavaBean机制

注意,我们在runtime范围定义这个依赖,因此需求确定在编译期间不需要依赖相关Spring特定的API。在一些高级应用场景下,一些Spring依赖项可以不用配置
runtime
范围,但是在目前比较简单的项目场景下,不需要针对Spring编译项目去获得整个框架的全部功能。

同样要注意的是,从Spring 3.2开始不需要定义CGLIB依赖(目前的版本是CGLIB 3.0)。现在使用内嵌在
spring-core
 JAR(更多详细信息可以查看相关[JIRA]https://jira.springsource.org/browse/SPR-9669("JIRA")中的cglib包(
net.sf.cglib
现在使用
org.springframework.cglib
替代)。

3. 在Maven配置Spring持久化框架

现在来看看Spring持久化框架的配置(主要是
spring-orm

<!-- spring的持久层依赖 -->
  <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提供了非常灵活的事务管理抽象。

4. 在Maven配置Spring MVC

要增加Spring Web和Servlet支持,需要在上面已配置的
pom
文件中额外增加两个依赖:
<div><!-- springMVC依赖 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${org.springframework.version}</version>
</dependency></div><div>
</div><div><dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${org.springframework.version}</version>
</dependency></div>


spring-web
包包含Servlet和Portlet所需要通用组件
spring-webmvc
则在Servlet环境中启用MVC支持。

由于
spring-webmvc
依赖于
spring-web
,所以定义了
spring-webmvc
依赖后,可以不用显示的在
pom
定义
spring-web
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: