1. 程式人生 > >Spring框架參考文件 2.3.1 依賴管理和命名約定

Spring框架參考文件 2.3.1 依賴管理和命名約定

2.3.1 依賴管理和命名約定

依賴管理和依賴注入是不同的事情。要將Spring的這些優秀功能整合到您的應用程式中(如依賴注入),您需要組裝所需的所有庫(jar檔案)並在執行時將它們放到類路徑中,並且可能在編譯時。這些依賴項不是注入的虛擬元件,而是檔案系統中的物理資源(通常)。依賴關係管理過程涉及定位這些資源,儲存它們並將它們新增到類路徑中。依賴關係可以是直接的(例如我的應用程式在執行時依賴於Spring),也可以是間接的(例如我的應用程式取決於依賴於commons-dbcp它 commons-pool)。間接依賴關係也稱為“傳遞”,它是最難識別和管理的依賴關係。

如果你打算使用Spring,你需要獲得一個包含你需要的Spring部分的jar庫的副本。為了使這更容易,Spring被打包為一組模組,儘可能地分離依賴項,因此,例如,如果您不想編寫Web應用程式,則不需要spring-web模組。要參照本指南中,我們使用速記命名約定到Spring庫模組spring-*

或 spring-*.jar,其中*代表該模組的短名稱(例如spring-corespring-webmvcspring-jms等)。您使用的實際jar檔名通常是與版本號連線的模組名稱(例如spring-core-4.3.18.RELEASE.jar)。

Spring Framework的每個版本都會將工件釋出到以下位置:

  • Maven Central,它是Maven查詢的預設儲存庫,不需要任何特殊配置即可使用。Spring所依賴的許多公共庫也可以從Maven Central獲得,而Spring社群的很大一部分都使用Maven進行依賴管理,因此這對他們來說很方便。這裡的罐子名稱在表格中spring-*-<version>.jar
    ,Maven groupId是org.springframework
  • 在專門為Spring託管的公共Maven儲存庫中。除了最終的GA版本之外,該儲存庫還託管了開發快照和里程碑。jar檔名與Maven Central的格式相同,因此這是一個有用的地方,可以將Spring的開發版本與Maven Central中部署的其他庫一起使用。此儲存庫還包含一個包分發zip檔案,其中包含捆綁在一起的所有Spring jar,以便於下載。

因此,您需要決定的第一件事是如何管理您的依賴項:我們通常建議使用Maven,Gradle或Ivy等自動化系統,但您也可以通過自己下載所有jar來手動完成。

您將在下面找到Spring工件列表。有關每個模組的更完整描述,請參見

第2.2節“框架模組”

表2.1。Spring Framework工件

GroupId ArtifactId 描述

org.springframework

spring-aop

基於代理的AOP支援

org.springframework

spring-aspects

AspectJ基於方面

org.springframework

spring-beans

Bean支援,包括Groovy

org.springframework

spring-context

應用程式上下文執行時,包括排程和遠端抽象

org.springframework

spring-context-support

支援類,用於將常見的第三方庫整合到Spring應用程式上下文中

org.springframework

spring-core

許多其他Spring模組使用的核心實用程式

org.springframework

spring-expression

Spring表達語言(SpEL)

org.springframework

spring-instrument

用於JVM引導的檢測代理程式

org.springframework

spring-instrument-tomcat

Tomcat的Instrumentation代理

org.springframework

spring-jdbc

JDBC支援包,包括DataSource設定和JDBC訪問支援

org.springframework

spring-jms

JMS支援包,包括用於傳送/接收JMS訊息的幫助程式類

org.springframework

spring-messaging

支援訊息傳遞體系結構和協議

org.springframework

spring-orm

物件/關係對映,包括JPA和Hibernate支援

org.springframework

spring-oxm

物件/ XML對映

org.springframework

spring-test

支援單元測試和整合測試Spring元件

org.springframework

spring-tx

交易基礎設施,包括DAO支援和JCA整合

org.springframework

spring-web

基礎Web支援,包括Web客戶端和基於Web的遠端處理

org.springframework

spring-webmvc

用於Servlet堆疊的基於HTTP的模型 - 檢視 - 控制器和REST端點

org.springframework

spring-webmvc-portlet

MVC implementation to be used in a Portlet environment

org.springframework

spring-websocket

WebSocket和SockJS基礎架構,包括STOMP訊息傳遞支援