@Configuration
概念
@Configuration
注解是Spring框架提供的一个核心注解。
它标记在一个类上,指示该类是一个配置类,相当于一个或多个 beans.xml
配置文件,用于声明一个或多个Bean的定义。配置类通常包含一个或多个带有 @Bean
注解的方法,这些方法定义了如何创建Bean实例。
通俗说法
想象 @Configuration
如同一本菜谱,里面记载了如何准备各种菜肴(Bean)的步骤。每个带有 @Bean
方法就如同菜谱上的一个食谱,告诉你如何一步步准备一道菜(创建一个Bean实例)。
所属
org.springframework.context.annotation.Configuration
作用
- 定义一个配置类,用于集中管理Bean的定义。
- 支持注解配置方式,替代传统的XML配置。
- 支持通过内部的
@Bean
方法来注册Bean到Spring容器中。 - 支持通过
@Import
注解导入其他配置类,实现配置的模块化。
用法
- 在类级别使用,通常与
@ComponentScan
、@PropertySource
、@Import
等注解配合使用。 - 配置类中的方法使用
@Bean
注解定义Bean。
使用场景
- 当需要使用基于注解的配置方式来替代XML配置时。
- 应用程序的模块化配置,每个模块可以有一个或多个配置类。
- 需要在运行时动态配置Bean或依赖外部配置时。
使用示例
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
@Bean
public MyRepository myRepository() {
return new MyRepositoryImpl();
}
}