Spring 2.0 引入了註解支援和註解感知的配置選項,Spring 使用者在使用 Java 5(或更高版本)進行開發時可以利用這些功能
在 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
為示例提供介面和類。我儘量保持簡單,同時能夠演示主要功能。我將所有程式碼和配置包含在一個“部落格”包中。我鼓勵遵循相同的準則,以便示例能夠按原樣工作;否則,請務必進行必要的修改。首先,
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,請定義……