如何在MAVEN中配置Spring的依賴包
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
。
相關文章
- 解決Maven中90%的依賴(導包)問題Maven
- Maven依賴中的scope詳解Maven
- maven解決jar包依賴衝突MavenJAR
- 如何使用Maven將專案中的依賴打進jar包MavenJAR
- Maven依賴管理:控制依賴的傳遞Maven
- maven依賴jar包更新,業務jar需同步更新(業務jar依賴API)MavenJARAPI
- Spring系列.依賴注入配置Spring依賴注入
- maven 將依賴包打入jar中MavenJAR
- maven中的傳遞依賴和傳遞依賴的解除Maven
- Maven依賴範圍及依賴傳遞Maven
- Spring中的迴圈依賴Spring
- Maven依賴機制Maven
- Maven 依賴關係Maven
- Maven把專案依賴的所有jar包都打到同一個jar中MavenJAR
- 為什麼在SpringBoot+maven的專案中,所引入的依賴包可以不指定依賴的版本號?Spring BootMaven
- Maven中解決依賴衝突的問題Maven
- maven打包時過濾檔案及排除依賴包Maven
- Maven快速入門(五)Maven的依賴管理Maven
- 用Maven快速生成帶有依賴的可執行jar包MavenJAR
- Spring 中 bean 的迴圈依賴SpringBean
- eclipse中maven專案不顯示Maven Dependencies依賴EclipseMaven
- HTop依賴包
- Maven依賴管理系統Maven
- maven中scope依賴範圍與classpath的關係Maven
- Maven-Maven統一管理依賴的版本Maven
- IDEA中Maven顯示存在依賴但專案中並未匯入依賴JARIdeaMavenJAR
- 在maven專案中解決第三方jar包依賴的問題MavenJAR
- 微服務下 Spring Boot Maven 工程依賴關係管理微服務Spring BootMaven
- spring 的依賴注入Spring依賴注入
- maven基礎:依賴範圍Maven
- Maven依賴衝突處理Maven
- maven2+依賴傳遞Maven
- Maven最佳實踐:管理依賴Maven
- Maven依賴版本更新踩坑Maven
- Maven中如何管理多模組專案的依賴關係Maven
- 01揹包、有依賴的揹包
- Maven依賴版本號引發的血案Maven
- 【Spring】Spring中的迴圈依賴及解決Spring