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