@Configuration
注解是Spring框架中用于定义配置类的注解。通过 @Configuration
注解标记的类表示这是一个配置类,其中可能包含用于配置Spring容器的Bean定义、组件扫描、属性源等配置信息。
下面是一些关键点和用法:
-
标记配置类: 使用
@Configuration
注解标记一个类,表示它是一个配置类。配置类通常包含一些用@Bean
注解标记的方法,用于定义Bean的创建和配置。import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { // Bean definitions and other configuration can go here }
-
定义Bean: 在配置类中使用
@Bean
注解定义Bean。这样的方法可以返回一个Bean实例,并可以接受参数,也可以配置Bean的各种属性。import org.springframework.context.annotation.Bean; @Configuration public class AppConfig { @Bean public MyBean myBean() { return new MyBean(); } }
-
引入其他配置类: 在一个配置类中,可以使用
@Import
注解引入其他配置类,以便将它们的配置合并到一个应用上下文中。import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @Configuration @Import({DatabaseConfig.class, SecurityConfig.class}) public class AppConfig { // Combined configuration with DatabaseConfig and SecurityConfig }
-
激活组件扫描:
@Configuration
注解的类通常激活了组件扫描,以自动发现和注册标记有@Component
、@Service
、@Repository
等注解的类。import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration @ComponentScan("com.example") public class AppConfig { // Component scanning is active for classes in the "com.example" package }
@Configuration
注解是Spring中配置的基础,它使得开发者可以使用Java代码而非XML配置来定义应用程序的组件。在全注解开发中,通常会使用 @Configuration
注解来创建配置类,结合其他注解如 @Bean
、@ComponentScan
等,以更便捷、灵活的方式配置Spring应用。