讓我們從壹個非常簡單的Maven設置開始,這裏只使用 spring-context 依賴 :
[html] view plain copy
<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註入(Injection)容器,並依賴很少的Spring包: spring-core, spring-expression, spring-aop 和 spring-beans. 通過啟用支持壹些 Spring的核心技術增強了Spring容器: Spring表達式語言 (SpEL), 面向切面編程 支持以及 JavaBeans機制.
註意,我們將spring-context依賴的範圍指定為 runtime scope —— 這將確保在編譯時沒有任何依賴Spring特定api的部分. 對於壹些底層開發的情況,可以將 runtime scope 從選定的Spring依賴項中移除(Maven 默認是compile),但對於簡單的項目來說,並不需要在編碼時對Spring 的整個框架進行調用.
還要註意,從Spring 3.2開始, 不需要定義CGLIB 依賴關系(現在升級到了CGLIB3.0)—— 它已經被重新打包(現在所有 net.sf.cglib 包變成了 org.springframework.cglib包)並直接集成在 spring-core 這個 JAR包中(詳情請參考 JIRA計劃文檔).