取得領先
VMware 提供培訓和認證,以加速您的進度。
瞭解更多正如各位可能已經注意到的,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 Schema 命名空間的支援,Spring 2.5 引入了新的「context」和「jms」配置命名空間。 後者是 Spring 配置命名空間可以提供的附加價值的特別好的例子 - 如果您使用 Spring 2.0 樣式的訊息驅動物件,絕對值得採用! 此外,Spring 也允許以程式碼方式啟動,不涉及任何 XML (如果需要); 我們確保為這種啟動方式提供 Spring 2.5 的所有好處。
作為一個核心主題,Spring 2.5 為應用程式元件中的配置註解提供全面支援。 這是延續 Spring 2.0 以 @Required、@Transactional、用於 JMX 的 @ManagedResource 和 JPA 的 @PersistenceContext / @PersistenceUnit 開始的目標。 Spring 2.5 支援 JSR 250 的 @PostConstruct (用於初始化方法)、@PreDestroy (用於銷毀方法) 和 @Resource (用於注入命名的受管理物件),以及 JAX-WS 2.0 的 @WebServiceRef (用於注入 Web 服務用戶端檢視) 和 @EJB (用於注入 Session 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 上的主要選項。