2.3.1 创建配置类

让我们重温一下本章前面那个样例中的 CDPlayerConfig:

CDPlayerConfig.java
package soundsystem;

import org.spingframework.context.annotation.Configuration;

@Configuration
public class CDPlayerConfig {
}

创建 JavaConfig 类的关键在于为其添加 @Configuration 注解,@Configuration 注解表明这个类是一个配置类,该类应该包含在 Spring 应用上下文中如何创建 bean 的细节。

到此为止,我们都是依赖组件扫描来发现 Spring 应该创建的 bean。尽管我们可以同时使用组件扫描和显式配置,但是在本节中,我们更加关注于显式配置,因此我将 CDPlayerConfig 的 @ComponentScan 注解移除掉了。

移除了 @ComponentScan 注解,此时的 CDPlayerConfig 类就没有 任何作用了。如果你现在运行 CDPlayerTest 的话,测试会失败,并且会出现 BeanCreation-Exception 异常。测试期望被注入 CDPlayer 和 CompactDisc,但是这些 bean 根本就没有创建,因为组件扫描不会发现它们。

为了再次让测试通过,你可以将 @ComponentScan 注解添加回去,但是我们这一节关注显式配置,因此让我们看一下如何使用 JavaConfig 装配 CDPlayer 和 CompactDisc。

Last updated