宣告 Bean

要宣告 bean,只需使用 @Bean 註釋註釋方法或使用 @Component 註釋註釋類(註釋 @Service@Repository@Controller 也可以使用)。

當 JavaConfig 遇到這樣的方法時,它將執行該方法並將返回值註冊為 BeanFactory 中的 bean。預設情況下,bean 名稱將是方法名稱的名稱。

我們可以使用以下三種方法之一建立 bean:

  1. 使用基於 Java 的配置 :在配置檔案中,我們需要使用 @bean 註釋宣告 bean

    @Configuration
    public class AppConfig {
        @Bean
        public TransferService transferService() {
            return new TransferServiceImpl();
        }
    }
    
  2. 使用基於 XML 的配置 :對於基於 XML 的配置,我們需要在應用程式配置 XML 中建立 declare bean,即

     <beans>
         <bean name="transferService" class="com.acme.TransferServiceImpl"/>
     </beans>
    
  3. 註釋驅動的元件 :對於註釋驅動的元件,我們需要將 @Component 註釋新增到我們要宣告為 bean 的類中。

     @Component("transferService")
     public class TransferServiceImpl implements TransferService {
         ...
     }
    

現在所有三個名為 transferService 的豆都可以在 BeanFactoryApplicationContext 中找到。