如何在Maven中配置Spring依赖

如何在Maven中配置Spring依赖

*前言:

这篇文章讨论了如何在Maven配置Spring的一些细节,这里介绍了一些主要的Maven依赖管理内容,当然还存在一些没有讨论到的内容,不过这篇文章应该是在项目中使用Spring的一个好的起点。最新的Spring发布版可以在Maven仓库中找到。*

  1. 在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>

<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替代)。

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

现在来看看Spring持久化框架的配置(主要是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提供了非常灵活的事务管理抽象。

  1. 在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所需要通用组件,spring-webmvc则在Servlet环境中启用MVC支持。

由于spring-webmvc依赖于spring-web,所以定义了spring-webmvc依赖后,可以不用显示的在pom定义spring-web。

  1. 在Maven中配置Spring Security

这个部分在如何在Maven中配置Spring Security依赖中介绍了,请参考这篇文章。

  1. 在Maven中配置Spring Test

可以通过下面的依赖配置将Spring Test引入项目

<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框架中(原来是一个独立项目,项目托管在GitHub)。所以,从Spring 3.2开始,仅需要在依赖配置中配置spring-test依赖即可。

注意:对于使用Spring 3.1及以下版本的应用来说,独立的spring-mvc-test依赖还是可以使用的,可以参考这里进行配置。但是,这个依赖已经不再Maven的中央库中,所以如果需要增加依赖需要配置自定义Maven容器。

  1. 使用Milestones(里程碑)版本

Spring的最新稳定版本保存在Maven的中央库,如果项目需要使用Spring的里程碑版本,需要在pom中配置自定义容器:

<repositories>

<repository>

<id>repository.springframework.maven.milestone</id>

<name>Spring Framework Maven Milestone Repository</name>

<url>http://repo.spring.io/milestone/</url&gt;

</repository>

</repositories>

当容器配置完成后,项目就可以像下面示例一样定义依赖了:

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>3.2.0.RC2</version>

</dependency>

  1. 使用Snapshots(快照)版本

与里程碑版本一样,快照版本也需要配置自定义容器位置:

<repositories>

<repository>

<id>repository.springframework.maven.snapshot</id>

<name>Spring Framework Maven Snapshot Repository</name>

<url>http://repo.spring.io/snapshot/</url&gt;

</repository>

</repositories>

当快照容器位置配置完成后,下面的依赖配置就可以使用了:

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

**总结:

这篇主要是在学习过程中总结分享的一篇如何在Maven中配置Spring依赖,这里介绍了一些主要的Maven依赖管理内容,希望可以给大家带来一些启示,有不正确或有需要改正的地方望大佬指出

喜欢这篇文章的话,可以给作者点个喜欢,点下关注,每天都会分享Java相关文章!

记得一定要关注我哦,会不定时的福利赠送,包括整理的面试题,学习资料,源码等~~**

原文地址:https://blog.51cto.com/14456091/2424275

时间: 2024-12-27 21:34:18

如何在Maven中配置Spring依赖的相关文章

在Maven中配置Spring+Hibernate Shiro权限控制项目

前言:在Eclipse中安装好Maven插件,然后创建一个Simple项目.在Eclipse中检出Shiro的官方示例,地址http://svn.apache.org/repos/asf/shiro/trunk/samples/,参考spring-hibernate项目配置.由于之前对Maven的认识不足所以今天专门配置来了解其工作机制,下面是我按照SVN上配置的示例. 1.创建Maven项目并复制配置文件 如图所示: 注:文件的位置与官网示例一致. 2.配置pom.xml文件 <project

如何在Web项目中配置Spring MVC

要使用Spring MVC需要在Web项目配置文件中web.xml中配置Spring MVC的前端控制器DispatchServlet 1 <servlet> 2 <servlet-name>SpringMVC</servlet-name> 3 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 4 <!-- 默认所对应的配置文件是

Maven中的可选依赖(Optional Dependencies)和依赖排除(Dependency Exclusions)

我们知道,maven的依赖关系是有传递性的.如:A-->B,B-->C.但有时候,项目A可能不是必需依赖C,因此需要在项目A中排除对A的依赖.在maven的依赖管理中,有两种方式可以对依赖关系进行,分别是可选依赖(Optional Dependencies)以及依赖排除(Dependency Exclusions).     一.可选依赖     当一个项目A依赖另一个项目B时,项目A可能很少一部分功能用到了项目B,此时就可以在A中配置对B的可选依赖.举例来说,一个类似hibernate的项目

myeclipse中配置spring xml自动提示

这是一篇分享技巧的文章:myeclipse中配置spring xml自动提示. ① window -> preferences -> MyEclipse -> Files and Editors -> XML -> XML Catalog ② 选择User Specified Entries,点击add按钮弹出一个选框,填入以下三项 i. Location: D:\baiduyun\Spring\spring_doc\soft\spring-framework-2.5.6\d

eclipse中配置spring环境

初识Spring框架 1.简单使用 eclipse中配置Spring环境,如果是初学的话,只需要在eclipse中引入几个jar包就可以用了, 在普通java project项目目录下,建一个lib文件夹,将常用的jar包导入,并Build Path. jar包资源下载:http://pan.baidu.com/s/1pKAP8gj 这样就可以快速进行Spring的简单学习了 2.正常使用 要使用Spring的完整功能还需要下载 Spring Tool Suite 与 完整版的 spring-f

如何在SharePoint中配置和自定义Content Query Web Part

如何在SharePoint中配置和自定义Content Query Web Part 2014-01-07 11:15 718人阅读 评论(0) 收藏 举报 之前有一篇blog提到过SharePoint中的Content Query Web Part (CQWP),说的是当SharePoint开启了匿名访问模式后,Content Query Web Part读取Document Library数据失败的问题.从这篇博客开始,我将说一下Content Query Web Part这个东西能做什么,

如何在MyEclipse中配置Tomcat?

1.下载tomcat免安装版,tomcat路径不含空格 http://download.csdn.net/detail/u014112584/7549191 2.windows -preferences-Myeclipse-servers-tomcat7.x (1)选择Enable (2)Tomcat home directory: 粘贴tomcat路径 (3)窗口-首选项-myeclipse-servers-tomcat7.x下拉的 JDK add   JavaJDK路径 3.测试tomcat

如何在IAR中配置CRC参数(转)

源:如何在IAR中配置CRC参数 前言 STM32全系列产品都具有CRC外设,对CRC的计算提供硬件支持,为应用程序节省了代码空间.CRC校验值可以用于数据传输中的数据正确性的验证,也可用于数据存储时的完整性检查.在IEC60335中,也接受通过CRC校验对FLASH的完整性进行检查.在对FLASH完整性检查的应用中,需要事先计算出整个FLASH的CRC校验值(不包括最后保存CRC值的字节),放在FLASH的末尾.在程序启动或者运行的过程中重新用同样的方法计算整个FLASH的CRC校验值,然后与

如何在Eclipse中配置Tomcat(免安装版)

如何在Eclipse中配置Tomcat(免安装版) 2013-10-09 23:19wgelgrsh | 分类:JAVA相关 | 浏览642次 分享到: 2013-10-10 17:10提问者采纳 一.确定你的Tomcat的安放路径. 这里我以自己的为例子:“E:\安装包\Apache-tomcat-6.0.29-windows-x86\apache-tomcat-6.0.29”.二.安装Eclipse和jdk(推荐1.4以上)(这个就不详细说了)三.下载插件TomcatPlugin 这里我用的