Spring 2.0 引入了注解支持和注解感知配置选项,可供使用 Java 5(或更高版本)进行开发的 Spring 用户使用
随着 Spring 2.1 的发布,注解驱动配置这一主题得到了显著扩展,并将在我们向 RC1 版本迈进的过程中继续发展。事实上,现在可以通过注解来驱动 Spring 的依赖注入。此外,Spring 可以发现需要在应用程序上下文中配置的 bean。
这篇博客文章将作为一篇教程式的介绍,分 10 个易于遵循的步骤介绍基本功能。我将在本周晚些时候跟进,提供有关更多高级功能和定制选项的信息。如果您对其他配置选项感兴趣,也应该查阅 Spring Java 配置项目和这篇博客。
本教程需要至少 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,请定义…