Spring 2.0 引入了註解支援和註解感知配置選項,可供使用 Java 5(或更高版本)的 Spring 使用者利用
透過 Spring 2.1,這種註解驅動配置的主題得到了顯著擴充套件,並將在我們邁向 RC1 版本時繼續發展。事實上,現在可以透過註解驅動 Spring 的依賴注入。此外,Spring 可以*發現*需要在應用程式上下文中配置的 bean。
這篇博文將作為分 10 個易於遵循的步驟的教程式介紹,介紹基本功能。我將在本週晚些時候提供有關一些更高階功能和自定義選項的資訊。如果您對其他配置選項感興趣,還應該檢視 Spring Java Configuration 專案和這篇部落格。
本教程至少需要 Java 5,建議使用 Java 6(否則在步驟 1 結束時有一個單一要求)。
步驟 1
獲取 spring-framework-2.1-m1-with-dependencies.zip。解壓縮存檔後,您將在“dist”目錄中找到 spring.jar 和 spring-mock.jar。將它們新增到您的 CLASSPATH 中,以及以下內容(所示路徑相對於解壓縮的 2.1-m1 存檔的“lib”目錄)
- asm/asm-2.2.3.jar
- asm/asm-commons-2.2.3.jar
- aspectj/aspectjweaver.jar
- hsqldb/hsqldb.jar
- jakarta-commons/commons-logging.jar
- log4j/log4j-1.2.14.jar
(注意:如果您沒有執行 Java 6,您還需要新增 j2ee/common-annotations.jar)
步驟 2
提供示例的介面和類。我已儘量使其儘可能簡單,但又能演示主要功能。我將所有程式碼和配置都包含在一個“blog”包中。我建議遵循相同的指導原則,以便示例按原樣工作;否則,請務必進行必要的修改。首先是 *GreetingService* 介面
public interface GreetingService {
String greet(String name);
}
然後,一個簡單的實現
public class GreetingServiceImpl implements GreetingService {
private MessageRepository messageRepository;
public void setMessageRepository(MessageRepository messageRepository) {
this.messageRepository = messageRepository;
}
public String greet(String name) {
Locale locale = Locale.getDefault();
String message = messageRepository.getMessage(locale.getDisplayLanguage());
return message + " " + name;
}
}
由於服務依賴於 *MessageRepository*,請定義……