基本概念:@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 容器的各種方法。