基本概念:@Bean
和 @Configuration
@Bean
and @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 容器的各种方法。