在 Spring Boot 中,我们通常使用 @Configuration 注解来定义配置类,同时使用 @Import 注解来引入其他的配置类,从而组合多个配置类。
下面是一个例子,假设我们有两个配置类 ConfigA 和 ConfigB,其中 ConfigA 定义了一个 MyBeanA 的 bean,而 ConfigB 定义了一个 MyBeanB 的 bean,我们可以使用 @Import 注解将这两个配置类组合在一起,从而定义两个 bean:
@Configuration
@Import({ConfigA.class, ConfigB.class})
public class AppConfig {
// ...
}
在这个例子中,我们使用 @Import 注解来引入 ConfigA 和 ConfigB 两个配置类,并将它们组合在一起。这样,在 AppConfig 中就可以同时定义 MyBeanA 和 MyBeanB 两个 bean。
当然,如果我们只想引入某一个配置类中的 bean,也可以通过 @Import 注解和 @Configuration 注解的组合来实现:
@Configuration
@Import(ConfigA.class)
public class AppConfig {
// ...
}
在这个例子中,我们只引入了 ConfigA 配置类,因此在 AppConfig 中就只能访问 MyBeanA,不能访问 MyBeanB。
除了 @Import 注解,Spring Boot 还提供了其他一些注解用于组合多个配置类,比如 @ComponentScan、@PropertySource 等。通过这些注解的组合,我们可以轻松地组合多个配置类,从而实现更加复杂的应用程序构建。