Spring 2.5 RC1 釋出 - 引入新的配置方法

工程 | Juergen Hoeller | 2007 年 10 月 24 日 | ...

正如你們中的一些人已經注意到的,Spring 2.5 RC1 終於在週一釋出,等待您進行測試!Spring 2.5 在許多方面都是一個完成 Spring 2.0 任務的版本:為 Java 1.4 和 Java 5 提供最靈活和最全面的配置模型。 Spring 2.5 特別關注對 Java 5 的全面支援,引入了各種進一步的註釋選項。我想借此機會指出此版本背後的統一主題

Spring 2.5 允許便捷的外部化配置,同時保持儘可能簡潔。 這是建立在 Spring 2.0 對 XML 模式名稱空間的支援之上的,Spring 2.5 引入了新的“context”和“jms”配置名稱空間。 後者是 Spring 配置名稱空間可以提供的附加價值的一個特別好的例子——如果您正在使用 Spring 2.0 風格的訊息驅動物件,絕對值得采用! 此外,Spring 還允許在不涉及 XML 的情況下進行程式設計式引導(如果需要); 我們確保為這種引導風格提供 Spring 2.5 的所有優點。

作為一個核心主題,Spring 2.5 為應用程式元件中的配置註釋提供全面支援。 這是在 Spring 2.0 以 @Required、@Transactional、@ManagedResource 用於 JMX 和 JPA 的 @PersistenceContext / @PersistenceUnit 開始的基礎上進行的。 Spring 2.5 支援 JSR 250 的 @PostConstruct(用於初始化方法)、@PreDestroy(用於銷燬方法)和 @Resource(用於注入命名的託管物件),以及 JAX-WS 2.0 的 @WebServiceRef(用於注入 Web 服務客戶端檢視)和 @EJB(用於注入會話 bean 客戶端檢視)。 此外,Spring 2.5 提供了一個配置註釋來統治它們:@Autowired(用於型別驅動的自動裝配,可以選擇與限定符註釋結合使用,以從一組匹配的候選項中選擇特定物件)。

Spring 2.5 在 Web 控制器方面更進一步:新引入的 @RequestMapping、@RequestParam 和 @ModelAttribute 註釋允許編寫帶註釋的 Web MVC 控制器,而無需實現特定的介面或從特定的基類派生,完全基於註釋來對映到特定的請求路徑。 這本質上是下一代的優秀舊 MultiActionController 方法,也能夠以非常靈活的方式處理表單。 當然,作為一流的 Spring 管理物件,這些控制器可以使用上述核心生命週期和注入註釋,例如 @Autowired... Spring 2.5 中修訂後的 PetClinic 示例應用程式顯示了這些設施的使用,PetClinic 的所有 Web 控制器現在都以註釋風格實現。 看看它!

Spring 2.5 還引入了新的基於註釋的 TestContext 框架用於整合測試,支援 JUnit 3.8、JUnit 4.4 和 TestNG。這是一種引人注目的替代方案,可以替代 Spring 2.0 用於 JUnit 3.8 的基類,支援 Spring 2.5 的核心配置註釋(例如 @Autowired)用於測試類,並透過註釋提供靈活的測試上下文配置。 它功能強大、靈活且鬆散耦合:Spring 風格的上下文管理應用於整合測試領域。

作為註釋使用的最先進級別,Spring 2.5 允許使用刻板印象註釋(例如 @Repository、@Service、@Controller 或通用 @Component)自動檢測類路徑中帶註釋的元件。 這允許您完全避免顯式的 XML bean 定義,指定包中的帶註釋的元件會被隱式註冊。 這可以用於特定目的,例如自動檢測 Web 層中的控制器,而服務層元件仍然是顯式定義的。

請注意,Spring 2.5 支援任何型別的託管元件的相同配置註釋:Spring 定義的 DAO、服務 bean、Web 控制器; 透過掃描類路徑檢測到的元件; 由 AspectJ 配置器切面配置的 @Configurable 物件; 由測試上下文框架執行的測試類。 例如,所有這些元件都可以使用 @Autowired 進行注入,並且在所有這些不同的元件型別中具有一致的語義。

綜上所述,請注意 Spring 2.5 當然仍然支援“經典”Spring 配置方法作為一等公民。 配置註釋是一種可以不同級別採用的選項:從元件類中的配置“提示”,補充 XML bean 定義,到透過註釋表達其整個配置的自給自足的元件。 或者當然完全沒有註釋:如果您喜歡外部化配置的架構優勢,或者 Java 1.4 上明顯的首選選項,這是一種完全可行的方法。

獲取 Spring 新聞資訊

透過 Spring 新聞資訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進步。

瞭解更多

獲取支援

Tanzu Spring 在一個簡單的訂閱中提供對 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

即將舉行的活動

檢視 Spring 社群中所有即將舉行的活動。

檢視所有