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-core
,spring-webmvc
,spring-jms
等)。您使用的實際jar檔名通常是與版本號連線的模組名稱(例如spring-core-4.3.18.RELEASE.jar)。
Spring Framework的每個版本都會將工件釋出到以下位置:
- Maven Central,它是Maven查詢的預設儲存庫,不需要任何特殊配置即可使用。Spring所依賴的許多公共庫也可以從Maven Central獲得,而Spring社群的很大一部分都使用Maven進行依賴管理,因此這對他們來說很方便。這裡的罐子名稱在表格中
spring-*-<version>.jar
org.springframework
。 - 在專門為Spring託管的公共Maven儲存庫中。除了最終的GA版本之外,該儲存庫還託管了開發快照和里程碑。jar檔名與Maven Central的格式相同,因此這是一個有用的地方,可以將Spring的開發版本與Maven Central中部署的其他庫一起使用。此儲存庫還包含一個包分發zip檔案,其中包含捆綁在一起的所有Spring jar,以便於下載。
因此,您需要決定的第一件事是如何管理您的依賴項:我們通常建議使用Maven,Gradle或Ivy等自動化系統,但您也可以通過自己下載所有jar來手動完成。
您將在下面找到Spring工件列表。有關每個模組的更完整描述,請參見
表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訊息傳遞支援 |