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

如何在MAVEN中配置Spring的依赖包,第1张

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>

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

<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文件中额外增加两个依赖:

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

5. 在Maven中配置Spring Security

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

6. 在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容器。

7. 使用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>

</repository>

</repositories>

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

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>3.2.0.RC2</version>

</dependency>

8. 使用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>

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

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

9. 结论

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

1.将jar放到E:\workspace\lib中。如下图:

2.编写pom.xml文件,定义jfinal的坐标。

<project  xmlns="http://maven.apache.org/POM/4.0.0"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0  http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.jfinal</groupId>

<artifactId>jfinal</artifactId>

<version>2.0</version>

<packaging>jar</packaging>

<name>jfinal</name>

<description>jfinal</description>

</project>

3.如果要想将jfinal-2.0-bin.jar手动添加到仓库,需要执行如下命令:

E:\workspace\lib>mvn  install:install-file -Dfile=jfinal-2.0-bin.jar -DgroupId=co

m.jfinal -DartifactId=jfinal  -Dversion=2.0 -Dpackaging=jar

4.查看maven仓库中的变化:

5.手动导入其它jar的方式:

(1)、将ojdbc14-10.2.0.4.jar导入到maven仓库中

E:\workspace\lib>mvn  install:install-file -Dfile=ojdbc14-10.2.0.4.jar -DgroupId=

com.oracle -DartifactId=ojdbc14  -Dversion=10.2.0.4.0 -Dpackaging=jar

(2)、将cglib-nodep-3.1.jar导入到maven仓库中

E:\workspace\lib>mvn  install:install-file -Dfile=cglib-nodep-3.1.jar -DgroupId=cglib -DartifactId=cglib-nodep  -Dversion=3.1 -Dpackaging=jar

(3)、将jetty-server-8.1.8.jar导入到maven仓库中

E:\workspace\lib>mvn  install:install-file -Dfile=jetty-server-8.1.8.jar -DgroupId=com.jfinal -DartifactId=com  -Dversion= 26Dec2008 -Dpackaging=jar

(4)、将cos-26Dec2008.jar导入到maven仓库中

E:\workspace\lib>mvn  install:install-file -Dfile=cos-26Dec2008.jar -DgroupId= org.beetl -DartifactId=cglib-nodep  -Dversion=3.1 -Dpackaging=jar

(5)、将beetl-core-2.2.4.jar导入到maven仓库中

E:\workspace\lib>mvn  install:install-file -Dfile=beetl-core-2.2.4.jar -DgroupId=org.beetl  -DartifactId=beetl-core -Dversion=2.2.3 -Dpackaging=jar


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7929081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存