中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Maven中配置Spring依賴

發布時間:2020-07-06 20:37:40 來源:網絡 閱讀:860 作者:java周某人 欄目:編程語言

如何在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>

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

</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相關文章!

記得一定要關注我哦,會不定時的福利贈送,包括整理的面試題,學習資料,源碼等~~**

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

墨玉县| 奈曼旗| 怀来县| 嫩江县| 海淀区| 陇川县| 淮阳县| 峨山| 花垣县| 突泉县| 福海县| 樟树市| 盈江县| 晋州市| 颍上县| 封开县| 敦煌市| 临夏县| 砚山县| 道孚县| 息烽县| 桐柏县| 蒙城县| 嫩江县| 呼图壁县| 阿坝| 南川市| 鱼台县| 武陟县| 长海县| 赞皇县| 鄢陵县| 大同县| 尉氏县| 江城| 安乡县| 安达市| 定日县| 苏尼特左旗| 方正县| 株洲县|