基本概念:@Bean 和 @Configuration
Spring Java 配置支持的核心构件是 @Configuration 注解的类和 @Bean 注解的方法。
@Bean 注解用于指示方法实例化、配置并初始化一个新对象,该对象将由 Spring IoC 容器管理。对于熟悉 Spring <beans/> XML 配置的用户来说,@Bean 注解与 <bean/> 元素扮演相同的角色。您可以将 @Bean 注解的方法与任何 Spring @Component 一起使用。然而,它们最常与 @Configuration Bean 一起使用。
用 @Configuration 注解一个类,表明其主要目的是作为 Bean 定义的来源。此外,@Configuration 类允许通过在同一类中调用其他 @Bean 方法来定义 Bean 间的依赖关系。最简单的 @Configuration 类如下所示:
-
Java
-
Kotlin
@Configuration
public class AppConfig {
@Bean
public MyServiceImpl myService() {
return new MyServiceImpl();
}
}
@Configuration
class AppConfig {
@Bean
fun myService(): MyServiceImpl {
return MyServiceImpl()
}
}
上述 AppConfig 类等同于以下 Spring <beans/> XML 配置:
<beans>
<bean id="myService" class="com.acme.services.MyServiceImpl"/>
</beans>
@Bean 和 @Configuration 注解将在以下章节中深入讨论。但是,首先我们将介绍使用基于 Java 的配置创建 Spring 容器的各种方法。