使用Maven配置Spring的方法步驟
這篇文章說明了如何通過Maven配置Spring依賴項(xiàng)。最新的Spring版本可以在Maven Central上找到。
Maven中的Spring基本依賴關(guān)系
Spring的設(shè)計(jì)是高度模塊化的 - 使用Spring的一部分不應(yīng)該而且不需要另一部分。例如,基本的Spring Context可以沒有Persistence或MVC Spring庫。
讓我們先從一個(gè)基本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>
這個(gè)依賴項(xiàng) - spring-context - 定義了實(shí)際的Spring Injection Container,并且有少量的依賴項(xiàng):spring-core,spring-expression,spring-aop和spring-beans。通過支持一些核心Spring技術(shù)來擴(kuò)充容器:Core Spring實(shí)用程序,Spring表達(dá)式語言(SpEL),面向?qū)ο缶幊讨С?/a>和JavaBeans機(jī)制。
注意我們在運(yùn)行時(shí)范圍中定義了依賴關(guān)系- 這將確保在任何特定于Spring的API上沒有編譯時(shí)依賴性。對于更高級的用例,可以從一些選定的Spring依賴項(xiàng)中刪除運(yùn)行時(shí)范圍,但是對于更簡單的項(xiàng)目,不需要針對Spring進(jìn)行編譯以充分利用該框架。
另請注意,從Spring 3.2開始,不需要定義CGLIB依賴項(xiàng)(現(xiàn)在已升級到CGLIB 3.0) - 它已被重新打包(所有net.sf.cglib包現(xiàn)在是org.springframework.cglib)并且直接在內(nèi)部內(nèi)聯(lián)spring-core JAR(有關(guān)其他詳細(xì)信息,請參閱JIRA)。
Maven配置Spring Persistence
現(xiàn)在讓我們看一下Spring Persistence依賴關(guān)系 - 主要是spring-orm:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework.version}</version>
</dependency>
這附帶了Hibernate和JPA支持 - 例如HibernateTemplate和JpaTemplate - 以及一些額外的,持久性相關(guān)的依賴項(xiàng):spring-jdbc和spring-tx。
JDBC數(shù)據(jù)訪問庫定義了Spring JDBC支持以及JdbcTemplate,而spring-tx代表了極其靈活的事務(wù)管理抽象。
Maven配置Spring MVC
要使用Spring Web和Servlet支持,除了上面的核心依賴項(xiàng)外,還需要在pom中包含兩個(gè)依賴項(xiàng):
<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依賴項(xiàng)包含Servlet和Portlet環(huán)境的公共web特定實(shí)用程序,而spring-webmvc支持Servlet環(huán)境的MVC。
由于spring-webmvc將spring-web作為依賴項(xiàng),因此在使用spring-webmvc時(shí)不需要明確定義spring-web。
使用Maven配置Spring Test
Spring Test Framework可以通過以下依賴項(xiàng)包含在項(xiàng)目中:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
從Spring 3.2開始,Spring MVC Test項(xiàng)目已經(jīng)包含在核心測試框架中 - 因此包括spring-test依賴就足夠了。
使用Milestones
Spring的發(fā)布版本托管在Maven Central上。但是,如果項(xiàng)目需要使用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>
已定義了一個(gè)此存儲庫,該項(xiàng)目可以定義依賴項(xiàng),例如:
<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存儲庫后,可以引用以下依賴項(xiàng):
<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>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JAVA使用ElasticSearch查詢in和not in的實(shí)現(xiàn)方式
今天小編就為大家分享一篇關(guān)于JAVA使用Elasticsearch查詢in和not in的實(shí)現(xiàn)方式,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12
spring中@Configuration和@Bean注解的用法
這篇文章主要介紹了spring中@Configuration和@Bean注解的用法,@Configuration用于定義配置類,可替換xml配置文件,被注解的類內(nèi)部包含有一個(gè)或多個(gè)被@Bean注解的方法,需要的朋友可以參考下2023-05-05
Java找出兩個(gè)大數(shù)據(jù)量List集合中的不同元素的方法總結(jié)
本文將帶大家了解如何快速的找出兩個(gè)相似度非常高的List集合里的不同元素。主要通過Java API、List集合雙層遍歷比較不同、借助Map集合查找三種方式,需要的可以參考一下2022-10-10
詳解 maven的pom.xml用<exclusion>解決版本問題
這篇文章主要介紹了詳解 maven的pom.xml用<exclusion>解決版本問題的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09
Win10?IDEA如何連接虛擬機(jī)中的Hadoop(HDFS)
在虛擬機(jī)上配置Hadoop并修改core-site.xml文件,設(shè)置IP為局域網(wǎng)地址,IDEA中創(chuàng)建Maven項(xiàng)目,添加依賴,并檢查Hadoop重啟和端口轉(zhuǎn)發(fā),提供test.bat文件,通過修改IP簡化使用過程2024-11-11

