# 2.3.1　创建配置类

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

{% code title="CDPlayerConfig.java" %}

```java
package soundsystem;

import org.spingframework.context.annotation.Configuration;

@Configuration
public class CDPlayerConfig {
}
```

{% endcode %}

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

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

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

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