Spring 2.0 作為里程碑版本,在配置簡化、Web MVC 增強、動態語言支援、JEE 標準對齊等方面推出重量級特性。本文逐項點評核心改進,並展望 Spring 向事實標準平台演進的野心。
<beans xmlns="..." xmlns:xsi="...">,支援 <context:component-scan/>, <aop:config/>, , <jndi:lookup/> 等簡化標籤,配合 Eclipse WTP 實現 Schema 級自動完成與校驗。new 或 load() 創建,Spring 容器無法注入依賴。標準化 ORM 接口,Spring 理應第一時間支援,無驚喜但必不可少。
// 命名參數替代 ?,構造動態條件極其優雅
MapSqlParameterSource params = new MapSqlParameterSource()
.addValue("name", name)
.addValue("minAge", minAge);
jdbcTemplate.query("SELECT * FROM user WHERE name=:name AND age>=:minAge", params, rowMapper);
徹底告別字符串拼接 SQL,防注入、可讀、可維護。
支援 Ruby/Groovy/BeanShell 定義 Bean,但整合深度不足。期望進一步支援腳本編寫裝配邏輯。
Spring 2.0 以「集大成者」姿態,併攬 IoC、AOP、ORM、MVC、Remoting、JMS、JMX、JCA、動態語言、AOP 領域模型……目標直指:取代 JEE 規範,成為 Java 企業開發的事實標準平台。
對於尋常 Web 專案,2.0 新特性多屬「錦上添花」;但對於架構演進、技術選型、長期避免廠商鎖定,Spring 2.0 確立的生態版圖具有決定性意義。