基本概念:@Bean
和 @Configuration
Spring的Java配置支持中的核心组件是使用@Configuration
注解的类和使用@Bean
注解的方法。
@Bean
注解用于指示一个方法实例化、配置和初始化一个新对象,该对象将由Spring IoC容器管理。对于熟悉Spring的<beans/>
XML配置的人来说,@Bean
注解扮演的角色与<bean/>
元素相同。您可以在任何Spring @Component
中使用@Bean
注解的方法。但是,它们通常与@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容器的各种方法。